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