From dfa9258c8879dbb0d1bfc00d7f939031d0bb623b Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 29 一月 2026 18:32:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/ScheduleTask.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/ScheduleTask.java b/src/main/java/com/ruoyi/ScheduleTask.java
new file mode 100644
index 0000000..9913292
--- /dev/null
+++ b/src/main/java/com/ruoyi/ScheduleTask.java
@@ -0,0 +1,58 @@
+package com.ruoyi;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.project.system.domain.SysNotice;
+import com.ruoyi.project.system.mapper.SysNoticeMapper;
+import com.ruoyi.safe.mapper.SafeTrainingMapper;
+import com.ruoyi.safe.pojo.SafeTraining;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+@Component
+//瀹氭椂浠诲姟姹囨��
+public class ScheduleTask {
+
+    @Autowired
+    private SafeTrainingMapper safeTrainingMapper;
+
+    @Autowired
+    private SysNoticeMapper noticeMapper;
+
+    //瀹氭椂浠诲姟(15鍒嗛挓鎵ц涓�娆�--鍒ゆ柇鍩硅璁″垝鏁版嵁,鐘舵�佸仛鍙樻洿)
+    @Scheduled(cron = "0 0/15 * * * ?")
+    public void testScheduleTask() {
+        List<SafeTraining> safeTrainings = safeTrainingMapper.selectList(Wrappers.<SafeTraining>lambdaQuery().ne(SafeTraining::getState, 2));
+        if (safeTrainings.size() > 0) {
+            for (SafeTraining safeTraining : safeTrainings) {
+                //鏍规嵁鏃堕棿鍒ゆ柇鍩硅鐘舵��
+                String trainingDate = safeTraining.getTrainingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                LocalDateTime openingTime = LocalDateTime.parse((trainingDate + safeTraining.getOpeningTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"));
+                LocalDateTime endTime = LocalDateTime.parse((trainingDate + safeTraining.getEndTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"));
+                if (LocalDateTime.now().isBefore(openingTime)) {
+                    //鏈紑濮�
+                    safeTraining.setState(0);
+                } else if (LocalDateTime.now().isAfter(endTime)) {
+                    //宸茬粨鏉�
+                    safeTraining.setState(2);
+                } else {
+                    //杩涜涓�
+                    safeTraining.setState(1);
+                }
+                safeTrainingMapper.updateById(safeTraining);
+            }
+        }
+    }
+
+    //宸茶鏁版嵁鍋氫竴涓畾鏃朵换鍔�(姣忔湀1鍙�1鐐规竻鐞嗕竴娆′笂涓湀宸茶鏁版嵁)
+    @Scheduled(cron = "0 0 1 1 * ?")
+    public void cleanReadData() {
+        noticeMapper.delete(Wrappers.<SysNotice>lambdaQuery()
+                .eq(SysNotice::getStatus,"1")
+                .lt(SysNotice::getCreateTime, LocalDateTime.now()));
+    }
+}

--
Gitblit v1.9.3