From 82624affb0251b75b62b35567d3eb260c06efe78 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 23 三月 2026 12:48:07 +0800
Subject: [PATCH] #ai 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiPromptServiceImpl.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiPromptServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiPromptServiceImpl.java
index c6d688f..02b3398 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiPromptServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiPromptServiceImpl.java
@@ -7,6 +7,8 @@
 import com.vincent.rsf.server.ai.dto.AiPromptPreviewRequest;
 import com.vincent.rsf.server.ai.entity.AiPrompt;
 import com.vincent.rsf.server.ai.mapper.AiPromptMapper;
+import com.vincent.rsf.server.ai.store.AiConfigCacheStore;
+import com.vincent.rsf.server.ai.store.AiConversationCacheStore;
 import com.vincent.rsf.server.ai.service.AiPromptService;
 import com.vincent.rsf.server.system.enums.StatusType;
 import lombok.RequiredArgsConstructor;
@@ -18,7 +20,8 @@
 public class AiPromptServiceImpl extends ServiceImpl<AiPromptMapper, AiPrompt> implements AiPromptService {
 
     private final AiPromptRenderSupport aiPromptRenderSupport;
-    private final AiRedisSupport aiRedisSupport;
+    private final AiConfigCacheStore aiConfigCacheStore;
+    private final AiConversationCacheStore aiConversationCacheStore;
 
     @Override
     public AiPrompt getActivePrompt(String code, Long tenantId) {
@@ -76,7 +79,8 @@
     public boolean save(AiPrompt entity) {
         boolean saved = super.save(entity);
         if (saved && entity != null && entity.getTenantId() != null) {
-            aiRedisSupport.evictTenantConfigCaches(entity.getTenantId());
+            aiConfigCacheStore.evictTenantConfigCaches(entity.getTenantId());
+            aiConversationCacheStore.evictTenantRuntimeCaches(entity.getTenantId());
         }
         return saved;
     }
@@ -85,7 +89,8 @@
     public boolean updateById(AiPrompt entity) {
         boolean updated = super.updateById(entity);
         if (updated && entity != null && entity.getTenantId() != null) {
-            aiRedisSupport.evictTenantConfigCaches(entity.getTenantId());
+            aiConfigCacheStore.evictTenantConfigCaches(entity.getTenantId());
+            aiConversationCacheStore.evictTenantRuntimeCaches(entity.getTenantId());
         }
         return updated;
     }
@@ -103,7 +108,10 @@
                     .map(AiPrompt::getTenantId)
                     .filter(java.util.Objects::nonNull)
                     .distinct()
-                    .forEach(aiRedisSupport::evictTenantConfigCaches);
+                    .forEach(tenantId -> {
+                        aiConfigCacheStore.evictTenantConfigCaches(tenantId);
+                        aiConversationCacheStore.evictTenantRuntimeCaches(tenantId);
+                    });
         }
         return removed;
     }

--
Gitblit v1.9.1