Ver código fonte

fix InitService

deason 1 mês atrás
pai
commit
d370afa1b6

+ 1 - 2
src/main/java/com/qmth/ops/biz/service/DocClientService.java

@@ -12,7 +12,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
@@ -30,7 +29,6 @@ public class DocClientService {
     @Resource
     private OcrSupplierService ocrSupplierService;
 
-    @PostConstruct
     public synchronized void init() {
         defaultClient = null;
         clientMap = new HashMap<>();
@@ -51,6 +49,7 @@ public class DocClientService {
             if (clientInstance instanceof DocApiClient) {
                 DocApiClient client = (DocApiClient) clientInstance;
                 clientMap.put(supplier.getId(), client);
+
                 // 取第一个enable=true的为默认客户端
                 if (defaultClient == null) {
                     defaultClient = client;

+ 6 - 2
src/main/java/com/qmth/ops/biz/service/InitService.java

@@ -30,6 +30,9 @@ public class InitService implements CommandLineRunner {
     @Resource
     private OcrClientService ocrClientService;
 
+    @Resource
+    private DocClientService docClientService;
+
     @Deprecated
     public String get() {
         try {
@@ -46,7 +49,7 @@ public class InitService implements CommandLineRunner {
             user.setLoginName("admin");
             user.setName("系统管理员");
             user.setPassword("123456");
-            user.setRole(new Role[] { Role.ADMIN });
+            user.setRole(new Role[]{Role.ADMIN});
             user.setEnable(true);
             userService.insert(user);
             log.info("系统管理员初始化完成");
@@ -62,7 +65,8 @@ public class InitService implements CommandLineRunner {
 
         llmClientService.init();
         ocrClientService.init();
-        log.info("LLM Client初始化完成");
+        docClientService.init();
+        log.info("LLM_OCR_DOC_Client初始化完成");
     }
 
 }

+ 4 - 3
src/main/java/com/qmth/ops/biz/service/LlmClientService.java

@@ -59,10 +59,11 @@ public class LlmClientService {
             String className = ChatApiClient.class.getName().replace("ChatApiClient", supplier.getChatClientClass());
             ChatApiConfig config = new ChatApiConfig(supplier, model);
             Class<?> clientClass = Class.forName(className);
-            chatApiClientMap.put(model.getId(),
-                    (ChatApiClient) clientClass.getConstructor(ChatApiConfig.class).newInstance(config));
+
+            Object clientInstance = clientClass.getConstructor(ChatApiConfig.class).newInstance(config);
+            chatApiClientMap.put(model.getId(), (ChatApiClient) clientInstance);
         } catch (Exception e) {
-            log.error("Chat api client init error, supplier={}, class={}, model={}", supplier.getName(),
+            log.warn("ChatApiClient init error, supplier:{} class:{} model:{}", supplier.getName(),
                     supplier.getChatClientClass(), model.getName());
         }
     }

+ 1 - 2
src/main/java/com/qmth/ops/biz/service/OcrClientService.java

@@ -10,7 +10,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
@@ -28,7 +27,6 @@ public class OcrClientService {
     @Resource
     private OcrSupplierService ocrSupplierService;
 
-    @PostConstruct
     public synchronized void init() {
         defaultClient = null;
         clientMap = new HashMap<>();
@@ -49,6 +47,7 @@ public class OcrClientService {
             if (clientInstance instanceof OcrApiClient) {
                 OcrApiClient client = (OcrApiClient) clientInstance;
                 clientMap.put(supplier.getId(), client);
+
                 // 取第一个enable=true的为默认客户端
                 if (supplier.getEnable() && defaultClient == null) {
                     defaultClient = client;