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 | 32 +++++++++++++++++++++++++++-----
1 files changed, 27 insertions(+), 5 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 366e1a9..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
@@ -6,6 +6,7 @@
import com.vincent.rsf.server.ai.service.AiMcpMountService;
import com.vincent.rsf.server.ai.service.AiParamService;
import com.vincent.rsf.server.ai.service.AiPromptService;
+import com.vincent.rsf.framework.exception.CoolException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -17,15 +18,36 @@
private final AiParamService aiParamService;
private final AiPromptService aiPromptService;
private final AiMcpMountService aiMcpMountService;
+ private final AiRedisSupport aiRedisSupport;
+
+ /**
+ * 鎸夌鎴疯В鏋愪竴娆″畬鏁寸殑 AI 杩愯閰嶇疆銆�
+ * 璇ユ柟娉曟槸瀵硅瘽鍏ュ彛銆佽繍琛屾�佹憳瑕佸拰閰嶇疆涓績鍏辩敤鐨勭粺涓�瑙f瀽鐐癸紝
+ * 璐熻矗鎶婂綋鍓嶇敓鏁堢殑鍙傛暟銆丳rompt 鍜� MCP 鎸傝浇鑱氬悎鎴愪竴涓笉鍙啀鎷嗗垎鐨勯厤缃璞°��
+ */
+ @Override
+ public AiResolvedConfig resolve(String promptCode, Long tenantId) {
+ return resolve(promptCode, tenantId, null);
+ }
@Override
- public AiResolvedConfig resolve(String promptCode) {
+ 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())
- .prompt(aiPromptService.getActivePrompt(finalPromptCode))
- .mcpMounts(aiMcpMountService.listActiveMounts())
+ .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