记得上下班打卡 | 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
b774de14
Commit
b774de14
authored
Dec 06, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
抽奖
parent
0906b684
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
11 deletions
+18
-11
SweetIntegralActivityDrawServiceImpl.java
...et/service/impl/SweetIntegralActivityDrawServiceImpl.java
+18
-11
No files found.
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetIntegralActivityDrawServiceImpl.java
View file @
b774de14
...
...
@@ -114,6 +114,8 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
// 如果库存没了就从列表剔出 列表为空就都没有库存了
ArrayList
<
IntegralActivityPrizeVo
>
activityPrizeVoArrayList
=
SweetNewObjectUtil
.
getIntegralActivityPrizeVoArrayList
();
// 概率计算
// TODO: 2021/12/6 黑名单只中券 不记录次数
// TODO: 2021/12/6 白名单概率*2
boolean
lotteryDraw
=
this
.
lotteryDraw
(
integralActivity
.
getPrizeList2
(),
integralActivity
.
getEstimatedNum
(),
integralActivity
.
getIntegralActivityId
());
if
(
lotteryDraw
)
{
// 实物
List
<
IntegralActivityPrizeVo
>
prizeList
=
integralActivity
.
getPrizeList2
();
...
...
@@ -132,18 +134,20 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
List
<
IntegralActivityPrizeVo
>
prizeList
=
integralActivity
.
getPrizeList1
();
for
(
IntegralActivityPrizeVo
info
:
prizeList
)
{
int
integralActivityPrizeNum
=
redisDataUtils
.
getIntegralActivityPrizeNum
(
integralActivityId
,
info
.
getPrizeId
());
if
(
integralActivityPrizeNum
>
0
)
{
if
(
integralActivityPrizeNum
==
-
1
||
integralActivityPrizeNum
>
0
)
{
activityPrizeVoArrayList
.
add
(
info
);
}
}
/*
if (CollectionUtils.isEmpty(activityPrizeVoArrayList)) {
if
(
CollectionUtils
.
isEmpty
(
activityPrizeVoArrayList
))
{
return
ResponseDto
.
failure
(
"活动太火爆了,奖品已经没有库存啦~"
);
}
*/
}
}
IntegralActivityPrizeVo
integralActivityPrizeVo
=
this
.
lotteryDraw1
(
activityPrizeVoArrayList
);
// 减库存 顺便判断库存是否够 -1的时候回滚回去
// 减库存 顺便判断库存是否够 -1的时候回滚回去 todo -1判断不靠谱
int
integralActivityPrizeNumOld
=
redisDataUtils
.
getIntegralActivityPrizeNum
(
integralActivityId
,
integralActivityPrizeVo
.
getPrizeId
());
if
(
integralActivityPrizeNumOld
!=
-
1
)
{
long
activityPrizeNum
=
redisDataUtils
.
decrIntegralActivityPrizeNum
(
integralActivityId
,
integralActivityPrizeVo
.
getPrizeId
(),
1
);
log
.
info
(
"奖品库存情况 activityPrizeNum:{}"
,
activityPrizeNum
);
if
(
activityPrizeNum
<
0
)
{
// 库存不够了
...
...
@@ -151,6 +155,8 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
log
.
info
(
"奖品库存情况回滚后 prizeNum:{}"
,
prizeNum
);
return
ResponseDto
.
failure
(
"活动太火爆了,奖品已经没有库存了!"
);
}
}
// 减积分
ResponseDto
<
String
>
de2111
=
feignStoneIntegralClient
.
de2111
(
userId
,
integralActivity
.
getActivityNum
(),
integralActivity
.
getActivityTitle
());
log
.
info
(
"减积分返回值情况 de2111:{}"
,
de2111
);
...
...
@@ -178,6 +184,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
// 发放状态
receivingStatus
=
2
;
}
// TODO: 2021/12/6 判断一张券直接发
/*if (prizeType == 3 || prizeType == 4 || prizeType == 5) {// 优惠券
// 发放优惠券
LinkedList<String> sqls = CollectionUtil.linkedListString();
...
...
@@ -214,7 +221,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
SweetQueue
.
SWEET_INTEGRAL_ACTIVITY_DRAW
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlsDataA
));
// TODO: 2021/12/6 查券详情返回
return
ResponseDto
.
success
(
integralActivityPrizeVo
);
}
catch
(
Exception
e
)
{
log
.
error
(
"积分抽奖异常 e:{}"
,
e
);
...
...
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