From 2efdb9596b737ec240ec1aca6b6ad85e2314981d Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 08 Jan 2025 15:00:57 +0800
Subject: [PATCH] feat(quartz): 优化活动状态定时任务

---
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index d4829f1..0ca11c7 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -32,13 +32,13 @@
      *      结束活动
      */
     @Scheduled(cron = "0 0/1 * * * ? ")
-    public void overtimeActivity() {
+    public void stopActivity() {
         DateTime date = DateUtil.date();
         List<MallActivity> mallActivities =
                 mallActivityMapper.selectList(
                         new LambdaQueryWrapper<MallActivity>()
-                                .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue())
-                                .ge(MallActivity::getEndTime, date)
+                                .eq(MallActivity::getState, YesOrNoOrIngEnum.ING.getValue())
+                                .le(MallActivity::getEndTime, date)
                 );
         if(CollUtil.isEmpty(mallActivities)){
             return;
@@ -50,4 +50,28 @@
         });
     }
 
+    /**
+     * 一分钟运行一次
+     *      开始活动
+     */
+    @Scheduled(cron = "0 0/1 * * * ? ")
+    public void startActivity() {
+        DateTime date = DateUtil.date();
+        List<MallActivity> mallActivities =
+                mallActivityMapper.selectList(
+                        new LambdaQueryWrapper<MallActivity>()
+                                .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue())
+                                .le(MallActivity::getStartTime, date)
+                                .ge(MallActivity::getEndTime, date)
+                );
+        if(CollUtil.isEmpty(mallActivities)){
+            return;
+        }
+
+        mallActivities.forEach(mallActivity -> {
+                mallActivity.setState(YesOrNoOrIngEnum.ING.getValue());
+                mallActivityMapper.updateById(mallActivity);
+        });
+    }
+
 }

--
Gitblit v1.9.1