记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
f03d4886
Commit
f03d4886
authored
Feb 11, 2024
by
zhangguobing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~api:券商品业务-券类商品券限购调整;
parent
bb31a6a3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
6 deletions
+13
-6
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+1
-1
GoblinOrderServiceImpl.java
...et/service/order/service/impl/GoblinOrderServiceImpl.java
+12
-5
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
f03d4886
...
@@ -119,7 +119,7 @@ public class GoblinRedisConst {
...
@@ -119,7 +119,7 @@ public class GoblinRedisConst {
public
static
final
String
REDIS_GOBLIN_BUY_COUNT
=
PREFIX
.
concat
(
"uid:"
);
//用户sku购买数量 key:uid:skuId:$skuId
public
static
final
String
REDIS_GOBLIN_BUY_COUNT
=
PREFIX
.
concat
(
"uid:"
);
//用户sku购买数量 key:uid:skuId:$skuId
public
static
final
String
REDIS_GOBLIN_BUY_COUNT_IDNO
=
PREFIX
.
concat
(
"id
no
:%s:%s:%s"
);
// 实名sku购买数量 key:$idType:$idNo:$skuId
public
static
final
String
REDIS_GOBLIN_BUY_COUNT_IDNO
=
PREFIX
.
concat
(
"id
card
:%s:%s:%s"
);
// 实名sku购买数量 key:$idType:$idNo:$skuId
public
static
final
String
REDIS_GOBLIN_SALE_COUNT
=
PREFIX
.
concat
(
"sale:skuId:"
);
//用户sku购买数量 key:sale:skuId:$skuId
public
static
final
String
REDIS_GOBLIN_SALE_COUNT
=
PREFIX
.
concat
(
"sale:skuId:"
);
//用户sku购买数量 key:sale:skuId:$skuId
public
static
final
String
REDIS_GOBLIN_SALE_SPU_COUNT
=
PREFIX
.
concat
(
"sale:spuId:"
);
//用户sku购买数量 key:sale:skuId:$spuId
public
static
final
String
REDIS_GOBLIN_SALE_SPU_COUNT
=
PREFIX
.
concat
(
"sale:spuId:"
);
//用户sku购买数量 key:sale:skuId:$spuId
public
static
final
String
REDIS_GOBLIN_ORDER
=
PREFIX
.
concat
(
"order:"
);
//用户sku购买数量 key:$orderId
public
static
final
String
REDIS_GOBLIN_ORDER
=
PREFIX
.
concat
(
"order:"
);
//用户sku购买数量 key:$orderId
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinOrderServiceImpl.java
View file @
f03d4886
...
@@ -184,9 +184,10 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
...
@@ -184,9 +184,10 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
}
}
if
(
Objects
.
equals
(
skuVo
.
getIsTrueName
(),
1
))
{
// 需关联实名人
if
(
Objects
.
equals
(
skuVo
.
getIsTrueName
(),
1
))
{
// 需关联实名人
int
idNoLimitCount
=
1
;
// 这里默认券类商品需要关联实名人且都要求关联实名人限购,限购数量为1
int
idNoLimitCount
=
1
;
// 这里默认券类商品需要关联实名人且都要求关联实名人限购,限购数量为1
String
couponSkuIdNoBuyLimitKey
=
String
.
format
(
GoblinRedisConst
.
REDIS_GOBLIN_BUY_COUNT_IDNO
,
skuParam
.
getIdType
(),
skuParam
.
getIdNo
(),
skuId
,
skuParam
.
getNumber
());
String
couponSkuIdNoBuyLimitKey
=
String
.
format
(
GoblinRedisConst
.
REDIS_GOBLIN_BUY_COUNT_IDNO
,
skuParam
.
getIdType
(),
skuParam
.
getIdNo
(),
skuId
);
long
incrRstNum
=
redisUtils
.
redisUtil
.
incr
(
couponSkuIdNoBuyLimitKey
,
skuParam
.
getNumber
());
couponSkuIdNoBuyLimitMap
.
put
(
couponSkuIdNoBuyLimitKey
,
skuParam
.
getNumber
());
couponSkuIdNoBuyLimitMap
.
put
(
couponSkuIdNoBuyLimitKey
,
skuParam
.
getNumber
());
if
(
redisUtils
.
redisUtil
.
incr
(
couponSkuIdNoBuyLimitKey
,
skuParam
.
getNumber
())
>
idNoLimitCount
)
{
if
(
incrRstNum
>
idNoLimitCount
)
{
throw
new
LiquidnetServiceException
(
"-1"
,
String
.
format
(
"超过限购数量,一个证件信息限购%d张"
,
idNoLimitCount
));
throw
new
LiquidnetServiceException
(
"-1"
,
String
.
format
(
"超过限购数量,一个证件信息限购%d张"
,
idNoLimitCount
));
}
}
}
}
...
@@ -194,6 +195,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
...
@@ -194,6 +195,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
}
}
//库存回滚
//库存回滚
if
(
surplusGeneral
<
0
)
{
if
(
surplusGeneral
<
0
)
{
// 这里加的'券类商品实名限购回滚'是因为这里'库存不足'没按异常处理
if
(!
CollectionUtils
.
isEmpty
(
couponSkuIdNoBuyLimitMap
))
{
// 券类商品实名限购回滚
couponSkuIdNoBuyLimitMap
.
forEach
((
couponSkuIdNoBuyLimitKey
,
numb
)
->
{
redisUtils
.
redisUtil
.
decr
(
couponSkuIdNoBuyLimitKey
,
numb
);
});
}
return
orderUtils
.
orderException
(
skuAndPreListAndNumber
,
platformCodeList
,
storeCodeList
,
uid
,
"库存不足"
);
return
orderUtils
.
orderException
(
skuAndPreListAndNumber
,
platformCodeList
,
storeCodeList
,
uid
,
"库存不足"
);
// throw new Exception("库存不足");
// throw new Exception("库存不足");
}
}
...
@@ -254,9 +261,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
...
@@ -254,9 +261,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if
(
params
.
size
()
>
0
)
{
if
(
params
.
size
()
>
0
)
{
orderUtils
.
backStoreCoupon
(
params
);
orderUtils
.
backStoreCoupon
(
params
);
}
}
if
(!
CollectionUtils
.
isEmpty
(
couponSkuIdNoBuyLimitMap
))
{
if
(!
CollectionUtils
.
isEmpty
(
couponSkuIdNoBuyLimitMap
))
{
// 券类商品实名限购回滚
couponSkuIdNoBuyLimitMap
.
forEach
((
couponSkuIdNoBuyLimitKey
,
numb
er
)
->
{
couponSkuIdNoBuyLimitMap
.
forEach
((
couponSkuIdNoBuyLimitKey
,
numb
)
->
{
redisUtils
.
redisUtil
.
decr
(
couponSkuIdNoBuyLimitKey
,
numb
er
);
redisUtils
.
redisUtil
.
decr
(
couponSkuIdNoBuyLimitKey
,
numb
);
});
});
}
}
if
(
e
instanceof
LiquidnetServiceException
)
{
if
(
e
instanceof
LiquidnetServiceException
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment