From b2deb1cc93b3d2c3fb9dc795e3589e1c62329a8f Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 23 三月 2026 14:07:29 +0800
Subject: [PATCH] lsh#站点同步至MES

---
 rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
index 991bfd2..8173b21 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.vincent.rsf.server.ai.config.AiDefaults;
 import com.vincent.rsf.server.ai.dto.AiResolvedConfig;
+import com.vincent.rsf.server.ai.store.AiConfigCacheStore;
 import com.vincent.rsf.server.ai.service.AiConfigResolverService;
 import com.vincent.rsf.server.ai.service.AiMcpMountService;
 import com.vincent.rsf.server.ai.service.AiParamService;
@@ -18,18 +19,36 @@
     private final AiParamService aiParamService;
     private final AiPromptService aiPromptService;
     private final AiMcpMountService aiMcpMountService;
+    private final AiConfigCacheStore aiConfigCacheStore;
 
+    /**
+     * 鎸夌鎴疯В鏋愪竴娆″畬鏁寸殑 AI 杩愯閰嶇疆銆�
+     * 璇ユ柟娉曟槸瀵硅瘽鍏ュ彛銆佽繍琛屾�佹憳瑕佸拰閰嶇疆涓績鍏辩敤鐨勭粺涓�瑙f瀽鐐癸紝
+     * 璐熻矗鎶婂綋鍓嶇敓鏁堢殑鍙傛暟銆丳rompt 鍜� MCP 鎸傝浇鑱氬悎鎴愪竴涓笉鍙啀鎷嗗垎鐨勯厤缃璞°��
+     */
     @Override
     public AiResolvedConfig resolve(String promptCode, Long tenantId) {
+        return resolve(promptCode, tenantId, null);
+    }
+
+    @Override
+    public AiResolvedConfig resolve(String promptCode, Long tenantId, Long aiParamId) {
         if (tenantId == null) {
             throw new CoolException("褰撳墠绉熸埛涓嶅瓨鍦�");
         }
         String finalPromptCode = StringUtils.hasText(promptCode) ? promptCode : AiDefaults.DEFAULT_PROMPT_CODE;
-        return AiResolvedConfig.builder()
+        // 閰嶇疆瑙f瀽鏄涓叆鍙e叡浜殑鐑偣璺緞锛屽懡涓紦瀛樻椂鍙互閬垮厤涓夊紶閰嶇疆琛ㄧ殑閲嶅鏌ヨ銆�
+        AiResolvedConfig cached = aiConfigCacheStore.getResolvedConfig(tenantId, finalPromptCode, aiParamId);
+        if (cached != null) {
+            return cached;
+        }
+        AiResolvedConfig resolvedConfig = AiResolvedConfig.builder()
                 .promptCode(finalPromptCode)
-                .aiParam(aiParamService.getActiveParam(tenantId))
+                .aiParam(aiParamService.getChatParam(tenantId, aiParamId))
                 .prompt(aiPromptService.getActivePrompt(finalPromptCode, tenantId))
                 .mcpMounts(aiMcpMountService.listActiveMounts(tenantId))
                 .build();
+        aiConfigCacheStore.cacheResolvedConfig(tenantId, finalPromptCode, aiParamId, resolvedConfig);
+        return resolvedConfig;
     }
 }

--
Gitblit v1.9.1