From 4954d3978cf1967729a5a2d5b90f6baef18974da Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 23 三月 2026 09:35:10 +0800
Subject: [PATCH] #ai redis+页面优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java |   17 +++++++++++++++--
 1 files changed, 15 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 b6087f5..7aa47b0 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
@@ -18,6 +18,7 @@
     private final AiParamService aiParamService;
     private final AiPromptService aiPromptService;
     private final AiMcpMountService aiMcpMountService;
+    private final AiRedisSupport aiRedisSupport;
 
     /**
      * 鎸夌鎴疯В鏋愪竴娆″畬鏁寸殑 AI 杩愯閰嶇疆銆�
@@ -26,15 +27,27 @@
      */
     @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 = aiRedisSupport.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();
+        aiRedisSupport.cacheResolvedConfig(tenantId, finalPromptCode, aiParamId, resolvedConfig);
+        return resolvedConfig;
     }
 }

--
Gitblit v1.9.1