From cd9b85533a35ae804fde9b1ee7af51ebb1630aeb Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 29 八月 2024 17:32:07 +0800
Subject: [PATCH] 问诊重置功能

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java
index 6b2108d..0c5d10c 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java
@@ -2,6 +2,7 @@
 
 import cn.lihu.jh.module.ecg.Utils;
 import cn.lihu.jh.module.ecg.service.queue.QueueService;
+import cn.lihu.jh.module.ecg.service.room.RoomService;
 import cn.lihu.jh.module.infra.api.config.ConfigApi;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -11,9 +12,11 @@
 import javax.annotation.Resource;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
+import java.util.List;
 import java.util.concurrent.Executors;
 
 import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY;
+import static cn.lihu.jh.module.ecg.Constants.ECG_ROOM_RESET_TIME_KEY;
 
 @Configuration
 @EnableScheduling
@@ -25,19 +28,38 @@
     @Resource
     private QueueService queueService;
 
+    @Resource
+    private RoomService roomService;
+
     @Override
     public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
         taskRegistrar.setScheduler(Executors.newScheduledThreadPool(1));
 
-        String strOpeningTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY);
-        LocalTime openingTime = Utils.parseOpeningTime(strOpeningTime);
-        String cronExpression = String.format("0 %d %d  * * ?", openingTime.getMinute(), openingTime.getHour());
-        System.out.println(cronExpression);
+        String strOpenCloseTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY);
+        List<LocalTime> list = Utils.parseOpeningTime(strOpenCloseTime);
+        LocalTime openingTime = list.get(0);
+        LocalTime closeTime = list.get(1);
+        String openCronExpression = String.format("0 %d %d  * * ?", openingTime.getMinute(), openingTime.getHour());
+        String closeCronExpression = String.format("0 %d %d  * * ?", closeTime.getMinute(), closeTime.getHour());
+
+        String strRoomResetTime = configApi.getConfigValueByKey(ECG_ROOM_RESET_TIME_KEY);
+        LocalTime roomResetTime = Utils.parseTime(strRoomResetTime);
+        String roomResetCronExpression = String.format("0 %d %d  * * ?", roomResetTime.getMinute(), roomResetTime.getHour());
 
         taskRegistrar.addCronTask(() -> {
-            System.out.println("Dynamic Task executed at: " + System.currentTimeMillis());
+            System.out.println("Opening Task executed at: " + System.currentTimeMillis());
             queueService.startBiz();
-        }, cronExpression);
+        }, openCronExpression);
+
+        taskRegistrar.addCronTask(() -> {
+            System.out.println("Close Task executed at: " + System.currentTimeMillis());
+            queueService.closeBiz();
+        }, closeCronExpression);
+
+        taskRegistrar.addCronTask(() -> {
+            System.out.println("Room Reset Task executed at: " + System.currentTimeMillis());
+            roomService.resetRoom();
+        }, roomResetCronExpression);
     }
 
 }

--
Gitblit v1.9.3