秒杀注释增加,秒杀设置天数变为常量设置

This commit is contained in:
Chopper 2021-08-31 17:20:49 +08:00
parent eb19b8f218
commit c12dd02f8a
2 changed files with 20 additions and 2 deletions

View File

@ -9,6 +9,7 @@ import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.cart.render.CartRenderStep; import cn.lili.modules.order.cart.render.CartRenderStep;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO; import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams; import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
@ -122,9 +123,22 @@ public class SkuPromotionRender implements CartRenderStep {
case CART: case CART:
case BUY_NOW: case BUY_NOW:
case VIRTUAL: case VIRTUAL:
//循环购物车
for (CartVO cartVO : tradeDTO.getCartList()) { for (CartVO cartVO : tradeDTO.getCartList()) {
//循环sku
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) { for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
//更新商品促销
promotionGoodsService.updatePromotion(cartSkuVO); promotionGoodsService.updatePromotion(cartSkuVO);
//赋予商品促销信息
for (PromotionGoods promotionGoods : cartSkuVO.getPromotions()) {
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(promotionGoods.getPromotionType(), promotionGoods.getPromotionId());
cartSkuVO.setPurchasePrice(promotionGoods.getPrice());
cartSkuVO.setSubTotal(CurrencyUtil.mul(promotionGoods.getPrice(), cartSkuVO.getNum()));
cartSkuVO.getPriceDetailDTO().setGoodsPrice(cartSkuVO.getSubTotal());
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
}
} }
} }
return; return;

View File

@ -60,6 +60,10 @@ import java.util.stream.Collectors;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class SeckillServiceImpl extends ServiceImpl<SeckillMapper, Seckill> implements SeckillService { public class SeckillServiceImpl extends ServiceImpl<SeckillMapper, Seckill> implements SeckillService {
/**
* 预创建活动数量
*/
private final Integer preCreation = 30;
/** /**
* 延时任务 * 延时任务
*/ */
@ -139,7 +143,7 @@ public class SeckillServiceImpl extends ServiceImpl<SeckillMapper, Seckill> impl
Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name()); Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name());
SeckillSetting seckillSetting = new Gson().fromJson(setting.getSettingValue(), SeckillSetting.class); SeckillSetting seckillSetting = new Gson().fromJson(setting.getSettingValue(), SeckillSetting.class);
for (int i = 1; i <= 30; i++) { for (int i = 1; i <= preCreation; i++) {
Seckill seckill = new Seckill(i, seckillSetting.getHours(), seckillSetting.getSeckillRule()); Seckill seckill = new Seckill(i, seckillSetting.getHours(), seckillSetting.getSeckillRule());
this.saveSeckill(seckill); this.saveSeckill(seckill);
} }
@ -290,7 +294,7 @@ public class SeckillServiceImpl extends ServiceImpl<SeckillMapper, Seckill> impl
* *
* @param seckill 秒杀活动 * @param seckill 秒杀活动
*/ */
private void addSeckillStartTask(SeckillVO seckill) { public void addSeckillStartTask(SeckillVO seckill) {
PromotionMessage promotionMessage = new PromotionMessage(seckill.getId(), PromotionTypeEnum.SECKILL.name(), PromotionStatusEnum.START.name(), seckill.getStartTime(), seckill.getEndTime()); PromotionMessage promotionMessage = new PromotionMessage(seckill.getId(), PromotionTypeEnum.SECKILL.name(), PromotionStatusEnum.START.name(), seckill.getStartTime(), seckill.getEndTime());
TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR, TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR,
seckill.getStartTime().getTime(), seckill.getStartTime().getTime(),