From 3f1e7569d9956837d2fa305dd78a7f9583dfa3e5 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期日, 23 七月 2023 18:46:30 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index eb3e653..d689e18 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -192,6 +192,18 @@
                 startDelayTask.setEndTime(activityStartTime);
                 startDelayTask.setRedisKey(DelayTaskEnum.ACTIVITY_START_TASK.getCode() + "-" + activityId);
                 remoteConfigService.addDelayTask(startDelayTask);
+            }else{
+                if(startDelayTask.getEndTime().compareTo(activityStartTime)!=0){
+                    remoteConfigService.deleteDelayTask(DelayTaskEnum.ACTIVITY_START_TASK.getCode() + "-" + activityId);
+                    redisService.deleteObject(DelayTaskEnum.ACTIVITY_START_TASK.getCode() + "-" + activityId);
+                    redisService.setCacheObject(DelayTaskEnum.ACTIVITY_START_TASK.getCode() + "-" + activityId, activityStartTime, startTimeDifference, TimeUnit.MILLISECONDS);
+                    startDelayTask = new DelayTask();
+                    startDelayTask.setDelFlag(0);
+                    startDelayTask.setCreateTime(new Date());
+                    startDelayTask.setEndTime(activityStartTime);
+                    startDelayTask.setRedisKey(DelayTaskEnum.ACTIVITY_START_TASK.getCode() + "-" + activityId);
+                    remoteConfigService.addDelayTask(startDelayTask);
+                }
             }
             // 查询延时任务
             DelayTask endDelayTask = remoteConfigService.getDelayTask(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId).getData();
@@ -204,6 +216,18 @@
                 endDelayTask.setEndTime(activityEndTime);
                 endDelayTask.setRedisKey(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId);
                 remoteConfigService.addDelayTask(endDelayTask);
+            }else{
+                if(endDelayTask.getEndTime().compareTo(activityEndTime)!=0){
+                    remoteConfigService.deleteDelayTask(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId);
+                    redisService.deleteObject(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId);
+                    redisService.setCacheObject(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId, activityEndTime, startTimeDifference, TimeUnit.MILLISECONDS);
+                    endDelayTask = new DelayTask();
+                    endDelayTask.setDelFlag(0);
+                    endDelayTask.setCreateTime(new Date());
+                    endDelayTask.setEndTime(activityStartTime);
+                    endDelayTask.setRedisKey(DelayTaskEnum.ACTIVITY_END_TASK.getCode() + "-" + activityId);
+                    remoteConfigService.addDelayTask(endDelayTask);
+                }
             }
         }
     }
@@ -466,6 +490,7 @@
      */
     @Override
     public void startActivity(String activityId){
+        log.debug(activityId+"活动开始");
         Activity activity = this.getById(activityId);
         if(activity!=null&&activity.getActivityStatus()==0){
             activity.setActivityStatus(1);

--
Gitblit v1.7.1