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

Commit a7226c48 authored by jiangxiulong's avatar jiangxiulong

无库存的时候-1要回滚

parent 57011822
...@@ -121,10 +121,15 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg ...@@ -121,10 +121,15 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
SweetIntegralActivityPrizeVo sweetIntegralActivityPrizeVo = SweetIntegralActivityPrizeVo.getNew().copy(sweetIntegralActivityPrize); SweetIntegralActivityPrizeVo sweetIntegralActivityPrizeVo = SweetIntegralActivityPrizeVo.getNew().copy(sweetIntegralActivityPrize);
// 减库存 顺便判断库存是否够 todo 这块可能不能这么判断 后台增加库存的时候如果是-1会丢库存 实际-1这个并没有发出 // 减库存 顺便判断库存是否够 todo 这块可能不能这么判断 后台增加库存的时候如果是-1会丢库存 实际-1这个并没有发出
long activityPrizeNum = redisDataUtils.setIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1); long activityPrizeNum = redisDataUtils.decrIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
long activityPrizeWinnersNum = redisDataUtils.setIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1); long activityPrizeWinnersNum = redisDataUtils.decrIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
if (activityPrizeNum < 0 || activityPrizeWinnersNum < 0) {// 库存不够了 if (activityPrizeNum < 0) {// 库存不够了
return ResponseDto.failure("活动太火爆了,奖品已经没有库存啦!"); redisDataUtils.incrIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
return ResponseDto.failure("活动太火爆了,奖品已经没有库存了!");
}
if (activityPrizeWinnersNum < 0) {// 库存不够了
redisDataUtils.incrIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
return ResponseDto.failure("活动太火爆了,奖品已经没有库存了~");
} }
// 减积分 // 减积分
feignStoneIntegralClient.de2111(userId, integralActivity.getActivityNum(), integralActivity.getActivityTitle()); feignStoneIntegralClient.de2111(userId, integralActivity.getActivityNum(), integralActivity.getActivityTitle());
......
...@@ -688,7 +688,7 @@ public class RedisDataUtils { ...@@ -688,7 +688,7 @@ public class RedisDataUtils {
} }
} }
public long setIntegralActivityPrizeNum(String integralActivityId, String prizeId, int num) { public long decrIntegralActivityPrizeNum(String integralActivityId, String prizeId, int num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_NUM String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_NUM
.concat(integralActivityId) .concat(integralActivityId)
.concat(":prizeId:") .concat(":prizeId:")
...@@ -697,7 +697,7 @@ public class RedisDataUtils { ...@@ -697,7 +697,7 @@ public class RedisDataUtils {
return decr; return decr;
} }
public long setIntegralActivityPrizeWinnersNum(String integralActivityId, String prizeId, int num) { public long decrIntegralActivityPrizeWinnersNum(String integralActivityId, String prizeId, int num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_WINNERS_NUM String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_WINNERS_NUM
.concat(integralActivityId) .concat(integralActivityId)
.concat(":prizeId:") .concat(":prizeId:")
...@@ -706,6 +706,22 @@ public class RedisDataUtils { ...@@ -706,6 +706,22 @@ public class RedisDataUtils {
return decr; return decr;
} }
public void incrIntegralActivityPrizeNum(String integralActivityId, String prizeId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_NUM
.concat(integralActivityId)
.concat(":prizeId:")
.concat(prizeId);
long incr = redisUtil.incr(redisKey, num);
}
public void incrIntegralActivityPrizeWinnersNum(String integralActivityId, String prizeId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_WINNERS_NUM
.concat(integralActivityId)
.concat(":prizeId:")
.concat(prizeId);
long incr = redisUtil.incr(redisKey, num);
}
public IntegralActivityDrawVo getIntegralActivityDrawInfo(String drawId) { public IntegralActivityDrawVo getIntegralActivityDrawInfo(String drawId) {
String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO String redisKeyDraw = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_DRAW_INFO
.concat(drawId); .concat(drawId);
......
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