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

Commit 87ba5c1f authored by jiangxiulong's avatar jiangxiulong

库存

parent 9162686b
...@@ -69,8 +69,8 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -69,8 +69,8 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId); sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId);
sweetIntegralActivityPrizeMapper.insert(sweetIntegralActivityPrize); sweetIntegralActivityPrizeMapper.insert(sweetIntegralActivityPrize);
// 奖品库存和中奖人数redis // 奖品库存和中奖人数redis
sweetRedisAdminUtils.setIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrize); sweetRedisAdminUtils.incrIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrize.getPrizeId(), sweetIntegralActivityPrize.getPrizeNum());
sweetRedisAdminUtils.setIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrize); sweetRedisAdminUtils.incrIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrize.getPrizeId(), sweetIntegralActivityPrize.getWinnersNum());
} }
} }
// 活动redis处理 // 活动redis处理
...@@ -98,11 +98,31 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -98,11 +98,31 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
SweetIntegralActivityPrize sweetIntegralActivityPrize = SweetIntegralActivityPrizeFormParam.getNew().copy(prize); SweetIntegralActivityPrize sweetIntegralActivityPrize = SweetIntegralActivityPrizeFormParam.getNew().copy(prize);
sweetIntegralActivityPrize.setUpdatedAt(LocalDateTime.now()); sweetIntegralActivityPrize.setUpdatedAt(LocalDateTime.now());
sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId); sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId);
String prizeId = prize.getPrizeId();
sweetIntegralActivityPrizeMapper.update( sweetIntegralActivityPrizeMapper.update(
sweetIntegralActivityPrize, sweetIntegralActivityPrize,
Wrappers.lambdaUpdate(SweetIntegralActivityPrize.class).eq(SweetIntegralActivityPrize::getPrizeId, prize.getPrizeId()) Wrappers.lambdaUpdate(SweetIntegralActivityPrize.class).eq(SweetIntegralActivityPrize::getPrizeId, prizeId)
); );
// TODO: 2021/10/27 处理奖品库存 // 处理奖品库存
SweetIntegralActivityPrize sweetIntegralActivityPrizeOld = sweetIntegralActivityPrizeMapper.selectOne(
Wrappers.lambdaQuery(SweetIntegralActivityPrize.class).eq(SweetIntegralActivityPrize::getPrizeId, prizeId)
);
Integer prizeNum = sweetIntegralActivityPrizeOld.getPrizeNum();
Integer winnersNum = sweetIntegralActivityPrizeOld.getWinnersNum();
Integer prizeNumNew = sweetIntegralActivityPrize.getPrizeNum();
Integer winnersNumNew = sweetIntegralActivityPrize.getWinnersNum();
int prizeNumDiff = prizeNumNew - prizeNum;
int winnersNumDiff = winnersNumNew - winnersNum;
if (prizeNumDiff > 0) {//增加库存
sweetRedisAdminUtils.incrIntegralActivityPrizeNum(integralActivityId, prizeId, prizeNumDiff);
} else if(prizeNumDiff < 0) {// 减少库存
sweetRedisAdminUtils.decrIntegralActivityPrizeNum(integralActivityId, prizeId, Math.abs(prizeNumDiff));
}
if (winnersNumDiff > 0) {//增加中奖人数
sweetRedisAdminUtils.incrIntegralActivityPrizeWinnersNum(integralActivityId, prizeId, winnersNumDiff);
} else if(winnersNumDiff < 0) {// 减少中奖人数
sweetRedisAdminUtils.decrIntegralActivityPrizeWinnersNum(integralActivityId, prizeId, Math.abs(winnersNumDiff));
}
} }
} }
// 活动redis处理 // 活动redis处理
......
...@@ -3,7 +3,6 @@ package com.liquidnet.client.admin.zhengzai.sweet.utils; ...@@ -3,7 +3,6 @@ package com.liquidnet.client.admin.zhengzai.sweet.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.sweet.constant.SweetConstant; import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo; import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityPrize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -27,19 +26,35 @@ public class SweetRedisAdminUtils { ...@@ -27,19 +26,35 @@ public class SweetRedisAdminUtils {
boolean set = redisUtil.set(redisKey, integralActivityVo); boolean set = redisUtil.set(redisKey, integralActivityVo);
} }
public void setIntegralActivityPrizeNum(String integralActivityId, SweetIntegralActivityPrize sweetIntegralActivityPrize) { public void incrIntegralActivityPrizeNum(String integralActivityId, String prizeId, Integer 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:")
.concat(sweetIntegralActivityPrize.getPrizeId()); .concat(prizeId);
redisUtil.incr(redisKey, sweetIntegralActivityPrize.getPrizeNum()); redisUtil.incr(redisKey, num);
} }
public void setIntegralActivityPrizeWinnersNum(String integralActivityId, SweetIntegralActivityPrize sweetIntegralActivityPrize) { public void incrIntegralActivityPrizeWinnersNum(String integralActivityId, String prizeId, Integer 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:")
.concat(sweetIntegralActivityPrize.getPrizeId()); .concat(prizeId);
redisUtil.incr(redisKey, sweetIntegralActivityPrize.getPrizeNum()); redisUtil.incr(redisKey, num);
}
public void decrIntegralActivityPrizeNum(String integralActivityId, String prizeId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_NUM
.concat(integralActivityId)
.concat(":prizeId:")
.concat(prizeId);
redisUtil.decr(redisKey, num);
}
public void decrIntegralActivityPrizeWinnersNum(String integralActivityId, String prizeId, Integer num) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_PRIZE_WINNERS_NUM
.concat(integralActivityId)
.concat(":prizeId:")
.concat(prizeId);
redisUtil.decr(redisKey, num);
} }
} }
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