From 112d964cbc94154dd4ca75851231d0c477ebc571 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期二, 20 五月 2025 10:29:22 +0800
Subject: [PATCH] 其他功能合并

---
 cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 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
index 7ead8cb..b1009fc 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/task/DeviceRecordSchedule.java
@@ -3,7 +3,9 @@
 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;
@@ -20,6 +22,9 @@
  */
 @Component
 public class DeviceRecordSchedule {
+
+    @Resource
+    private DeviceMapper deviceMapper;
     @Resource
     private DeviceRecordMapper deviceRecordMapper;
     @Resource
@@ -31,7 +36,7 @@
      * 鎻愰啋濉啓璁惧浣跨敤璁板綍
      */
 //    @Scheduled(cron = "0/5 * * * * *")
-    @Scheduled(cron = "0 0 9 * * 6") // 姣忓懆鍏墽琛屼竴娆�
+//    @Scheduled(cron = "0 0 9 * * 6") // 姣忓懆鍏墽琛屼竴娆�
     public void task1() {
         // 鏌ヨ鏈~鍐欑殑璁惧浣跨敤璁板綍
         List<DeviceRecordDto> deviceRecords = deviceRecordMapper.selectNotFilled();
@@ -58,8 +63,41 @@
 
             });
         });
+    }
 
 
+    /**
+     * 姣忓ぉ9鐐规墽琛屼竴娆� 闄や簡鏄熸湡澶�
+     * 鍒ゆ柇鏄惁鏈夎澶囧埌杈炬牎鍑嗘湁鏁堟湡
+     */
+//    @Scheduled(cron = "0/5 * * * * *")
+//    @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() + "-" + deviceRecord.getManagementNumber();
+                    message += "\n濮旀墭缂栧彿: " + deviceRecord.getSampleCode();
+                    message += "\n";
+                }
+                message += "\n璇峰幓濉啓璁惧浣跨敤璁板綍";
+
+                //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡
+                try {
+                    WxCpUtils.inform(user.getAccount(), message, null);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+            });
+        });
     }
 
 }

--
Gitblit v1.9.3