From 6115ecf6734642d5c0470d344a99f0a1338220ec Mon Sep 17 00:00:00 2001 From: Chopper Date: Wed, 23 Feb 2022 14:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=92=E6=9D=80=E6=B4=BB=E5=8A=A8=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=96=B0=E5=A2=9Ebug=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/promotion/PromotionEverydayExecute.java | 11 +++++++++-- .../cn/lili/modules/promotion/entity/dos/Seckill.java | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java index 970ff34d..c67ef4fe 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/promotion/PromotionEverydayExecute.java @@ -8,6 +8,7 @@ import cn.lili.modules.system.entity.dto.SeckillSetting; import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; import cn.lili.timetask.handler.EveryDayExecute; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.gson.Gson; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -70,8 +71,14 @@ public class PromotionEverydayExecute implements EveryDayExecute { log.info("生成秒杀活动设置:{}", seckillSetting); for (int i = 1; i <= SeckillService.PRE_CREATION; i++) { Seckill seckill = new Seckill(i, seckillSetting.getHours(), seckillSetting.getSeckillRule()); - boolean result = seckillService.savePromotions(seckill); - log.info("生成秒杀活动参数:{},结果:{}", seckill, result); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Seckill::getStartTime, seckill.getStartTime()); + //如果已经存在促销,则不再次保存 + if (seckillService.list(lambdaQueryWrapper).size() == 0) { + boolean result = seckillService.savePromotions(seckill); + log.info("生成秒杀活动参数:{},结果:{}", seckill, result); + } } } } diff --git a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java index c15d19e2..f80c4b77 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java +++ b/framework/src/main/java/cn/lili/modules/promotion/entity/dos/Seckill.java @@ -59,7 +59,7 @@ public class Seckill extends BasePromotions { public Seckill(int day, String hours, String seckillRule) { //默认创建*天后的秒杀活动 DateTime dateTime = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), day)); - this.applyEndTime = DateUtil.offsetHour(new Date(), Integer.parseInt(hours) - 1); + this.applyEndTime = dateTime; this.hours = hours; this.seckillRule = seckillRule; this.goodsNum = 0;