From e460e434fe3975a4ae33466710d8292245ad8e07 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 19 六月 2025 18:09:33 +0800
Subject: [PATCH] 2025-06-19

---
 src/main/java/com/example/scheudleds/DictSyncCommon.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/example/scheudleds/DictSyncCommon.java b/src/main/java/com/example/scheudleds/DictSyncCommon.java
index 31f9fae..c94b79e 100644
--- a/src/main/java/com/example/scheudleds/DictSyncCommon.java
+++ b/src/main/java/com/example/scheudleds/DictSyncCommon.java
@@ -1,11 +1,58 @@
 package com.example.scheudleds;
 
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.example.domain.DictHosp;
+import com.example.factory.ServiceFactory;
+import com.example.service.DictHospService;
+import com.example.service.HisService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Component
 public class DictSyncCommon {
 
+    private final ServiceFactory serviceFactory;
+
+    @Autowired
+    public DictSyncCommon(ServiceFactory serviceFactory) {
+        this.serviceFactory = serviceFactory;
+    }
+
+    private final ExecutorService executorService = Executors.newFixedThreadPool(40);
+
+    @Autowired
+    private DictHospService dictHospService;
+
+    @Scheduled(cron = "0 0 22 * * ?")
+    public void executeTasks() {
+//        List<String> list = Arrays.asList("shanxiqinxamjyy","shanxiqinpbkwyy","shanxiqinjdczgzyy","shanxiqinsqyy");
+        List<String> list = dictHospService.list(new LambdaQueryWrapper<DictHosp>().isNotNull(DictHosp::getBeanName))
+                .stream().map(DictHosp::getBeanName).collect(Collectors.toList());
+        log.info("寮�濮嬫墽琛屽畾鏃朵换鍔★細{}", System.currentTimeMillis());
+        try {
+            for (String hosp : list) {
+                executorService.submit(() -> {
+                    try {
+                        log.info("寮�濮嬪悓姝ュ尰闄㈡暟鎹細{}", hosp);
+                        HisService hisService = serviceFactory.getService(hosp);
+                        hisService.syncDict(hosp);
+                        log.info("瀹屾垚鍚屾鍖婚櫌鏁版嵁锛歿}", hosp);
+                    } catch (Exception e) {
+                        log.error("鍚屾鍖婚櫌鏁版嵁澶辫触锛屽尰闄細{}锛屽紓甯革細{}", hosp, e.getMessage());
+                    }
+                });
+            }
+        } catch (Exception e) {
+            log.error("瀹氭椂浠诲姟鎵ц寮傚父锛�", e);
+        }
+    }
 }

--
Gitblit v1.8.0