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