记得上下班打卡 | git大法好,push需谨慎

Commit b774de14 authored by jiangxiulong's avatar jiangxiulong

抽奖

parent 0906b684
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment