From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 13:27:59 +0800
Subject: [PATCH] yys 密码已重置

---
 cnas-personnel/src/main/java/com/ruoyi/personnel/task/PersonTrainingSchedule.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/task/PersonTrainingSchedule.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/task/PersonTrainingSchedule.java
new file mode 100644
index 0000000..2fe4b34
--- /dev/null
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/task/PersonTrainingSchedule.java
@@ -0,0 +1,65 @@
+package com.ruoyi.personnel.task;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.WxCpUtils;
+import com.ruoyi.personnel.mapper.PersonTrainingDetailedMapper;
+import com.ruoyi.personnel.pojo.PersonTrainingDetailed;
+import com.ruoyi.system.mapper.UserMapper;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 鍩硅璁″垝浣跨敤鎻愰啋璁板綍鎻愰啋
+ */
+@Component
+public class PersonTrainingSchedule {
+    @Resource
+    private PersonTrainingDetailedMapper personTrainingDetailedMapper;
+    @Resource
+    private UserMapper userMapper;
+    @Resource
+    private ThreadPoolTaskExecutor threadPoolTaskExecutor;
+
+    /**
+     * 鎻愰啋濉啓浜哄憳鍩硅璁板綍
+     */
+//    @Scheduled(cron = "0/5 * * * * *")
+    @Scheduled(cron = "0 0 9 1,15 * *") // 姣忔湀涓�鍙锋墽琛�
+    public void task1() {
+        // 鏌ヨ褰撴湀鍩硅璁″垝
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.M");
+        String format = LocalDateTime.now().format(formatter);
+        List<PersonTrainingDetailed> personTrainingDetaileds = personTrainingDetailedMapper.selectList(Wrappers.<PersonTrainingDetailed>lambdaQuery()
+                .eq(PersonTrainingDetailed::getTrainingDate, format));
+
+        for (PersonTrainingDetailed personTrainingDetailed : personTrainingDetaileds) {
+            threadPoolTaskExecutor.execute(() -> {
+                // 鏌ヨ鍩硅璁插笀
+                User user = userMapper.selectById(personTrainingDetailed.getTrainingLecturerId());
+                // 浼佷笟寰俊閫氱煡鍩硅
+                String message = "";
+                message += "浜哄憳鍩硅璁″垝鎻愰啋閫氱煡";
+                message += "\n鍩硅鐩爣: " + personTrainingDetailed.getTrainingObjectives();
+                message += "\n鍩硅鍐呭: " + personTrainingDetailed.getTrainingContent();
+                message += "\n鍙傚姞瀵硅薄: " + personTrainingDetailed.getParticipants();
+                message += "\n鍩硅鏃ユ湡: " + personTrainingDetailed.getTrainingDate();
+                message += "\n璁″垝褰撴湀杩涜鍩硅";
+
+                //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡
+                try {
+                    WxCpUtils.inform(user.getAccount(), message, null);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            });
+        }
+    }
+
+}

--
Gitblit v1.9.3