From 8ad22dc082cff06fb1f26ade6423c5b563719f69 Mon Sep 17 00:00:00 2001 From: rainv123 <2148537152@qq.com> Date: Thu, 13 Nov 2025 12:35:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=A7=BB=E9=99=A4=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E5=99=A8=EF=BC=8C=E5=9C=A8DAO=E5=B1=82=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E5=88=A0=E9=99=A4=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AgentPluginMappingServiceImpl.java | 4 +-- .../knowledge/dao/KnowledgeBaseDao.java | 8 ++++++ .../impl/KnowledgeBaseServiceImpl.java | 6 ++++- .../resources/db/changelog/202511131016.sql | 13 ---------- .../db/changelog/db.changelog-master.yaml | 7 ----- .../mapper/knowledge/KnowledgeBaseDao.xml | 26 +++++++++++++++++++ 6 files changed, 41 insertions(+), 23 deletions(-) delete mode 100644 main/manager-api/src/main/resources/db/changelog/202511131016.sql create mode 100644 main/manager-api/src/main/resources/mapper/knowledge/KnowledgeBaseDao.xml diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentPluginMappingServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentPluginMappingServiceImpl.java index baf38d71..313b558e 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentPluginMappingServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentPluginMappingServiceImpl.java @@ -111,11 +111,11 @@ public class AgentPluginMappingServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("plugin_id", knowledgeBaseId); int deletedCount = agentPluginMappingMapper.delete(updateWrapper); - + if (deletedCount > 0) { log.info("已删除 {} 条与知识库ID '{}' 相关的插件映射记录", deletedCount, knowledgeBaseId); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/knowledge/dao/KnowledgeBaseDao.java b/main/manager-api/src/main/java/xiaozhi/modules/knowledge/dao/KnowledgeBaseDao.java index 7f94b0af..b9a8aa0c 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/knowledge/dao/KnowledgeBaseDao.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/knowledge/dao/KnowledgeBaseDao.java @@ -1,6 +1,7 @@ package xiaozhi.modules.knowledge.dao; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import xiaozhi.common.dao.BaseDao; import xiaozhi.modules.knowledge.entity.KnowledgeBaseEntity; @@ -11,4 +12,11 @@ import xiaozhi.modules.knowledge.entity.KnowledgeBaseEntity; @Mapper public interface KnowledgeBaseDao extends BaseDao { + /** + * 根据知识库ID删除相关的插件映射记录 + * + * @param knowledgeBaseId 知识库ID + */ + void deletePluginMappingByKnowledgeBaseId(@Param("knowledgeBaseId") String knowledgeBaseId); + } \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/knowledge/service/impl/KnowledgeBaseServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/knowledge/service/impl/KnowledgeBaseServiceImpl.java index 14420254..8fb770c7 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/knowledge/service/impl/KnowledgeBaseServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/knowledge/service/impl/KnowledgeBaseServiceImpl.java @@ -314,8 +314,12 @@ public class KnowledgeBaseServiceImpl extends BaseServiceImpl 0 ? "成功" : "失败"); } diff --git a/main/manager-api/src/main/resources/db/changelog/202511131016.sql b/main/manager-api/src/main/resources/db/changelog/202511131016.sql deleted file mode 100644 index b56a6763..00000000 --- a/main/manager-api/src/main/resources/db/changelog/202511131016.sql +++ /dev/null @@ -1,13 +0,0 @@ --- 当删除知识库记录时,自动删除相关的插件映射记录 - --- 先删除可能存在的同名触发器(如果存在) -DROP TRIGGER IF EXISTS trigger_delete_plugin_mapping_on_knowledgebase_delete; - --- 创建新的触发器 -CREATE TRIGGER trigger_delete_plugin_mapping_on_knowledgebase_delete -AFTER DELETE ON ai_rag_dataset -FOR EACH ROW -BEGIN - -- 删除与该知识库ID相关的插件映射记录 - DELETE FROM ai_agent_plugin_mapping WHERE plugin_id = OLD.id; -END; diff --git a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml index 0aee00a1..7180a9c8 100755 --- a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -416,10 +416,3 @@ databaseChangeLog: - sqlFile: encoding: utf8 path: classpath:db/changelog/202510251150.sql - - changeSet: - id: 202511131016 - author: rainv123 - changes: - - sqlFile: - encoding: utf8 - path: classpath:db/changelog/202511131016.sql diff --git a/main/manager-api/src/main/resources/mapper/knowledge/KnowledgeBaseDao.xml b/main/manager-api/src/main/resources/mapper/knowledge/KnowledgeBaseDao.xml new file mode 100644 index 00000000..e85a9674 --- /dev/null +++ b/main/manager-api/src/main/resources/mapper/knowledge/KnowledgeBaseDao.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + DELETE FROM ai_agent_plugin_mapping + WHERE plugin_id = #{knowledgeBaseId} + + + \ No newline at end of file