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