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/AiPromptServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 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 ba072da..c6d688f 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
@@ -18,6 +18,7 @@
public class AiPromptServiceImpl extends ServiceImpl<AiPromptMapper, AiPrompt> implements AiPromptService {
private final AiPromptRenderSupport aiPromptRenderSupport;
+ private final AiRedisSupport aiRedisSupport;
@Override
public AiPrompt getActivePrompt(String code, Long tenantId) {
@@ -71,6 +72,42 @@
);
}
+ @Override
+ public boolean save(AiPrompt entity) {
+ boolean saved = super.save(entity);
+ if (saved && entity != null && entity.getTenantId() != null) {
+ aiRedisSupport.evictTenantConfigCaches(entity.getTenantId());
+ }
+ return saved;
+ }
+
+ @Override
+ public boolean updateById(AiPrompt entity) {
+ boolean updated = super.updateById(entity);
+ if (updated && entity != null && entity.getTenantId() != null) {
+ aiRedisSupport.evictTenantConfigCaches(entity.getTenantId());
+ }
+ return updated;
+ }
+
+ @Override
+ public boolean removeByIds(java.util.Collection<?> list) {
+ java.util.List<java.io.Serializable> ids = list == null ? java.util.List.of() : list.stream()
+ .filter(java.util.Objects::nonNull)
+ .map(item -> (java.io.Serializable) item)
+ .toList();
+ java.util.List<AiPrompt> records = this.listByIds(ids);
+ boolean removed = super.removeByIds(list);
+ if (removed) {
+ records.stream()
+ .map(AiPrompt::getTenantId)
+ .filter(java.util.Objects::nonNull)
+ .distinct()
+ .forEach(aiRedisSupport::evictTenantConfigCaches);
+ }
+ return removed;
+ }
+
private void ensureRequiredFields(AiPrompt aiPrompt) {
if (!StringUtils.hasText(aiPrompt.getName())) {
throw new CoolException("Prompt 鍚嶇О涓嶈兘涓虹┖");
--
Gitblit v1.9.1