From 256acffffd45af74181fc96d7090cd42563c72ca Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 19 十二月 2025 16:56:06 +0800
Subject: [PATCH] 111
---
src/main/java/com/gs/dingtalk/task/ScheduledTasks.java | 96 +++++++++++++++++++++++++++++++++---------------
1 files changed, 66 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/gs/dingtalk/task/ScheduledTasks.java b/src/main/java/com/gs/dingtalk/task/ScheduledTasks.java
index 84636de..0da632c 100644
--- a/src/main/java/com/gs/dingtalk/task/ScheduledTasks.java
+++ b/src/main/java/com/gs/dingtalk/task/ScheduledTasks.java
@@ -2,54 +2,90 @@
import com.gs.dingtalk.service.SendDingtalkService;
+import com.gs.dingtalk.service.VwCjScSjTsBbService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+
+import java.util.concurrent.atomic.AtomicBoolean;
@Component
@RequiredArgsConstructor
@Slf4j
public class ScheduledTasks {
- private final SendDingtalkService sendDingtalkService;
+// private final SendDingtalkService sendDingtalkService;
+
+ private final VwCjScSjTsBbService vwCjScSjTsBbService;
+
+ private final AtomicBoolean exportTaskRunning = new AtomicBoolean(false);
+
+// /**
+// * 姣忎袱鍒嗛挓鎵ц涓�娆�
+// * 鑾峰彇璁惧鏈�杩戠殑涓�鏉¤褰�
+// *
+// * @return void
+// * @author tjx
+// * @description TODO
+// * @date 2024/9/27 21:48
+// */
+// @Scheduled(cron = "0 0/2 * * * ?")
+// public void getDeviceRealTimeData() {
+// try {
+// sendDingtalkService.sendDingTalkFiveMinute();
+// log.info("瀹氭椂浠诲姟 getDeviceRealTimeData 鎵ц鎴愬姛");
+// } catch (Exception e) {
+// log.error("瀹氭椂浠诲姟 getDeviceRealTimeData 鎵ц澶辫触: ", e);
+// }
+// }
+//
+// @Scheduled(cron = "0 0/3 * * * ?")
+// public void sendDingTalkFifteenMinute() {
+// try {
+// sendDingtalkService.sendDingTalkFifteenMinute();
+// log.info("瀹氭椂浠诲姟 sendDingTalkFifteenMinute 鎵ц鎴愬姛");
+// } catch (Exception e) {
+// log.error("瀹氭椂浠诲姟 sendDingTalkFifteenMinute 鎵ц澶辫触: ", e);
+// }
+// }
+//
+// @Scheduled(cron = "0 0/4 * * * ?")
+// public void sendDingTalkThirtyMinute() {
+// try {
+// sendDingtalkService.sendDingTalkthirtyMinute();
+// log.info("瀹氭椂浠诲姟 sendDingTalkThirtyMinute 鎵ц鎴愬姛");
+// } catch (Exception e) {
+// log.error("瀹氭椂浠诲姟 sendDingTalkThirtyMinute 鎵ц澶辫触: ", e);
+// }
+// }
/**
- * 姣忎袱鍒嗛挓鎵ц涓�娆�
- * 鑾峰彇璁惧鏈�杩戠殑涓�鏉¤褰�
- *
- * @return void
- * @author tjx
- * @description TODO
- * @date 2024/9/27 21:48
+ * 姣忓ぉ涓婂崍9鐐规墽琛�
+ * 瀵煎嚭鐢熶骇鏁版嵁骞跺彂閫侀拤閽夋秷鎭�
*/
- @Scheduled(cron = "0 0/2 * * * ?")
- public void getDeviceRealTimeData() {
- try {
- sendDingtalkService.sendDingTalkFiveMinute();
- log.info("瀹氭椂浠诲姟 getDeviceRealTimeData 鎵ц鎴愬姛");
- } catch (Exception e) {
- log.error("瀹氭椂浠诲姟 getDeviceRealTimeData 鎵ц澶辫触: ", e);
+ @Async("taskExecutor")
+ @Scheduled(cron = "0 0 12,16 * * ?")
+ public void exportAndSendProductionDataTask() {
+ if (!exportTaskRunning.compareAndSet(false, true)) {
+ log.warn("鐢熶骇鏁版嵁瀵煎嚭浠诲姟姝e湪鎵ц涓紝璺宠繃鏈鎵ц");
+ return;
}
- }
- @Scheduled(cron = "0 0/3 * * * ?")
- public void sendDingTalkFifteenMinute() {
try {
- sendDingtalkService.sendDingTalkFifteenMinute();
- log.info("瀹氭椂浠诲姟 sendDingTalkFifteenMinute 鎵ц鎴愬姛");
- } catch (Exception e) {
- log.error("瀹氭椂浠诲姟 sendDingTalkFifteenMinute 鎵ц澶辫触: ", e);
- }
- }
+ log.info("寮�濮嬫墽琛岀敓浜ф暟鎹鍑哄苟鍙戦�侀拤閽変换鍔�");
+ boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
- @Scheduled(cron = "0 0/4 * * * ?")
- public void sendDingTalkThirtyMinute() {
- try {
- sendDingtalkService.sendDingTalkthirtyMinute();
- log.info("瀹氭椂浠诲姟 sendDingTalkThirtyMinute 鎵ц鎴愬姛");
+ if (result) {
+ log.info("鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫侀拤閽変换鍔℃墽琛屾垚鍔�");
+ } else {
+ log.error("鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫侀拤閽変换鍔℃墽琛屽け璐�");
+ }
} catch (Exception e) {
- log.error("瀹氭椂浠诲姟 sendDingTalkThirtyMinute 鎵ц澶辫触: ", e);
+ log.error("鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫侀拤閽変换鍔℃墽琛屽紓甯�", e);
+ } finally {
+ exportTaskRunning.set(false);
}
}
}
--
Gitblit v1.9.3