From 6f497b142ec090a1b3f64cb96e744dc101f63d25 Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Wed, 2 Jul 2025 18:59:56 +0800 Subject: [PATCH] [fix][chat]Memory deletion should disable it first. --- .../chat/server/service/impl/MemoryServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java index 6ceeb1127..5f0ee7cf5 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java @@ -26,7 +26,6 @@ import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Objects; @@ -110,6 +109,14 @@ public class MemoryServiceImpl implements MemoryService, CommandLineRunner { @Override public void batchDelete(List ids) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(ChatMemoryDO::getId, ids); + List chatMemoryDOS = chatMemoryRepository.getMemories(queryWrapper); + chatMemoryDOS.forEach(chatMemoryDO -> { + if (MemoryStatus.ENABLED.toString().equals(chatMemoryDO.getStatus().trim())) { + disableMemory(chatMemoryDO); + } + }); chatMemoryRepository.batchDelete(ids); }