From c12dd02f8a109976606bd40036e5a7f20928d3d1 Mon Sep 17 00:00:00 2001 From: Chopper Date: Tue, 31 Aug 2021 17:20:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=92=E6=9D=80=E6=B3=A8=E9=87=8A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=EF=BC=8C=E7=A7=92=E6=9D=80=E8=AE=BE=E7=BD=AE=E5=A4=A9?= =?UTF-8?q?=E6=95=B0=E5=8F=98=E4=B8=BA=E5=B8=B8=E9=87=8F=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/cart/render/impl/SkuPromotionRender.java | 14 ++++++++++++++ .../promotion/serviceimpl/SeckillServiceImpl.java | 8 ++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java index 0122712a..31f137fd 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/SkuPromotionRender.java @@ -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.render.CartRenderStep; 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.vos.PromotionSkuVO; import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams; @@ -122,9 +123,22 @@ public class SkuPromotionRender implements CartRenderStep { case CART: case BUY_NOW: case VIRTUAL: + //循环购物车 for (CartVO cartVO : tradeDTO.getCartList()) { + //循环sku for (CartSkuVO cartSkuVO : cartVO.getSkuList()) { + //更新商品促销 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; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java index b03c092c..8673a950 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillServiceImpl.java @@ -60,6 +60,10 @@ import java.util.stream.Collectors; @Transactional(rollbackFor = Exception.class) public class SeckillServiceImpl extends ServiceImpl implements SeckillService { + /** + * 预创建活动数量 + */ + private final Integer preCreation = 30; /** * 延时任务 */ @@ -139,7 +143,7 @@ public class SeckillServiceImpl extends ServiceImpl impl Setting setting = settingService.get(SettingEnum.SECKILL_SETTING.name()); 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()); this.saveSeckill(seckill); } @@ -290,7 +294,7 @@ public class SeckillServiceImpl extends ServiceImpl impl * * @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()); TimeTriggerMsg timeTriggerMsg = new TimeTriggerMsg(TimeExecuteConstant.PROMOTION_EXECUTOR, seckill.getStartTime().getTime(),