From 93eae706828ce693db00bbb9c128a335ca6d4e6d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 17 一月 2025 15:26:37 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
index eeced5c..0a420ae 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
@@ -202,8 +202,10 @@
     @Transactional(rollbackFor = Exception.class)
     public void saveSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) {
         Integer goodId = seckillActivityInfo.getGoodId();
+        LocalDateTime startTime = seckillActivityInfo.getStartTime();
+        LocalDateTime endTime = seckillActivityInfo.getEndTime();
         long count = this.count(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, goodId).eq(SeckillActivityInfo::getDelFlag, 0)
-                .eq(SeckillActivityInfo::getIsShelves, 1).last(" and now() between start_time and end_time"));
+                .eq(SeckillActivityInfo::getIsShelves, 1).last(" and (" + startTime + " between start_time and end_time or " + endTime + " between start_time and end_time)"));
         if(0 < count){
             throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在");
         }
@@ -221,9 +223,11 @@
     @Transactional(rollbackFor = Exception.class)
     public void updateSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) {
         Integer goodId = seckillActivityInfo.getGoodId();
+        LocalDateTime startTime = seckillActivityInfo.getStartTime();
+        LocalDateTime endTime = seckillActivityInfo.getEndTime();
         long count = this.count(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, goodId).eq(SeckillActivityInfo::getDelFlag, 0)
-                .eq(SeckillActivityInfo::getIsShelves, 1).last(" and now() between start_time and end_time"));
-        if(1 < count){
+                .eq(SeckillActivityInfo::getIsShelves, 1).last(" and (" + startTime + " between start_time and end_time or " + endTime + " between start_time and end_time)"));
+        if(0 < count){
             throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在");
         }
         this.baseMapper.updateById(seckillActivityInfo);

--
Gitblit v1.7.1