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-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 0 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java b/cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java new file mode 100644 index 0000000..bbd88c7 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java @@ -0,0 +1,104 @@ +package com.ruoyi.device.task; + +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.WxCpUtils; +import com.ruoyi.device.dto.DeviceRecordDto; +import com.ruoyi.device.mapper.DeviceMapper; +import com.ruoyi.device.mapper.DeviceRecordMapper; +import com.ruoyi.device.pojo.Device; +import com.ruoyi.device.pojo.DeviceRecord; +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.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 璁惧浣跨敤璁板綍鎻愰啋 + */ +@Component +public class DeviceRecordSchedule { + + @Resource + private DeviceMapper deviceMapper; + @Resource + private DeviceRecordMapper deviceRecordMapper; + @Resource + private UserMapper userMapper; + @Resource + private ThreadPoolTaskExecutor threadPoolTaskExecutor; + + /** + * 鎻愰啋濉啓璁惧浣跨敤璁板綍 + */ +// @Scheduled(cron = "0/5 * * * * *") + @Scheduled(cron = "0 0 9 * * 6") // 姣忓懆鍏墽琛屼竴娆� + public void task1() { + // 鏌ヨ鏈~鍐欑殑璁惧浣跨敤璁板綍 + List<DeviceRecordDto> deviceRecords = deviceRecordMapper.selectNotFilled(); + Map<Integer, List<DeviceRecordDto>> userPersonIdMap = deviceRecords.stream().collect(Collectors.groupingBy(DeviceRecord::getUsePersonId)); + userPersonIdMap.forEach((userId, recordList) -> { + threadPoolTaskExecutor.execute(() -> { + // 浼佷笟寰俊閫氱煡濉啓璁惧浣跨敤璁板綍 + User user = userMapper.selectById(userId); + String message = ""; + message += "璁惧浣跨敤璁板綍鏈~鍐欐彁閱掗�氱煡"; + for (DeviceRecordDto deviceRecord : recordList) { + message += "\n璁惧鍚嶇О缂栧彿: " + deviceRecord.getDeviceName() + "-" + deviceRecord.getManagementNumber(); + message += "\n濮旀墭缂栧彿: " + deviceRecord.getSampleCode(); + message += "\n"; + } + message += "\n璇峰幓濉啓璁惧浣跨敤璁板綍"; + + //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 + try { + WxCpUtils.inform(user.getAccount(), message, null); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + }); + } + + + /** + * 姣忓ぉ9鐐规墽琛屼竴娆� 闄や簡鏄熸湡澶� + * 鍒ゆ柇鏄惁鏈夎澶囧埌杈炬牎鍑嗘湁鏁堟湡 + */ +// @Scheduled(cron = "0/10 * * * * *") + @Scheduled(cron = "0 0 9 * * 1-6") // 姣忓ぉ9鐐规墽琛屼竴娆� 闄や簡鏄熸湡澶� + public void task2() { + // 鏌ヨ鍒拌揪鏍″噯鏈夋晥鏈熺殑璁惧-鎻愬墠5澶� + List<Device> deviceList = deviceMapper.selectOverdueDevice(); + Map<Integer, List<Device>> userPersonIdMap = deviceList.stream().collect(Collectors.groupingBy(Device::getEquipmentManager)); + userPersonIdMap.forEach((userId, recordList) -> { + threadPoolTaskExecutor.execute(() -> { + // 浼佷笟寰俊閫氱煡濉啓璁惧浣跨敤璁板綍 + User user = userMapper.selectById(userId); + String message = ""; + message += "璁惧鍒拌揪鏍″噯鏈夋晥鏈�"; + for (Device deviceRecord : recordList) { + message += "\n璁惧鍚嶇О: " + deviceRecord.getDeviceName(); + message += "\n璁惧缂栧彿: " + deviceRecord.getManagementNumber(); + message += "\n鏍″噯鏈夋晥鏈�: " + deviceRecord.getActivationDate(); + message += "\n"; + } + message += "\n璇峰幓杩涜璁惧鏍″噯"; + + //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 + try { + WxCpUtils.inform(user.getAccount(), message, null); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + }); + } + +} -- Gitblit v1.9.3