From e2e015e02fb67ef7c348fbcb2152a34ccb34004d Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 28 七月 2025 15:19:09 +0800
Subject: [PATCH] 活动定时任务优化

---
 lmk-job/src/main/java/cn/lili/job/ActivityJob.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/lmk-job/src/main/java/cn/lili/job/ActivityJob.java b/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
index 7d88ea0..601ace7 100644
--- a/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
+++ b/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
@@ -16,6 +16,7 @@
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -40,10 +41,13 @@
         //鑾峰緱鎵�鏈� 娲诲姩
         List<Activity> activeActivities = new LambdaQueryChainWrapper<Activity>(activityMapper)
                 .orderByAsc(Activity::getCreateTime)  // 鎸夊垱寤烘椂闂村崌搴�
+                .eq(Activity::getDeleteFlag,Boolean.FALSE)
                 .list();
         Date now = new Date(); // 鑾峰彇褰撳墠鏃堕棿
-
+        List<Activity> newActivities = new ArrayList<>();
         for (Activity activity : activeActivities) {
+            String status = activity.getStatus();
+
             if (isInProgress(now, activity)) {
                 activity.setStatus(ActivityStatusEnum.IN_PROGRESS.getType());
             } else if (isRecruiting(now, activity)) {
@@ -56,8 +60,13 @@
             else {
                 activity.setStatus(ActivityStatusEnum.ENDED.getType());
             }
+            if (status != null && !status.equals(activity.getStatus())) {
+                newActivities.add(activity);
+            }
         }
-        activityMapper.batchUpdateActivities(activeActivities);
+        if (!newActivities.isEmpty()) {
+            activityMapper.batchUpdateActivities(newActivities);
+        }
 
         // 淇敼
         XxlJobHelper.log("鎵ц瀹屾垚锛氭椿鍔ㄧ姸鎬佹敼鍙�");

--
Gitblit v1.8.0