diff --git a/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/mapper/TbKnowledgeMapper.java b/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/mapper/TbKnowledgeMapper.java index 01592252..58a7eca7 100644 --- a/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/mapper/TbKnowledgeMapper.java +++ b/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/mapper/TbKnowledgeMapper.java @@ -32,6 +32,8 @@ public interface TbKnowledgeMapper { */ int deleteKnowledge(TbKnowledge knowledge); + int updateKnowledgeFileCount(String knowledgeId, int num); + /** * 根据ID查询知识库 */ diff --git a/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/service/impl/KnowledgeServiceImpl.java b/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/service/impl/KnowledgeServiceImpl.java index 43de2d3f..d9daa98a 100644 --- a/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/service/impl/KnowledgeServiceImpl.java +++ b/urbanLifelineServ/ai/src/main/java/org/xyzh/ai/service/impl/KnowledgeServiceImpl.java @@ -533,6 +533,7 @@ public class KnowledgeServiceImpl implements KnowledgeService { knowledgeFile.setDifyFileId(difyFileId); knowledgeFile.setVersion(1); + knowledgeMapper.updateKnowledgeFileCount(knowledgeId, 1); int rows = knowledgeFileMapper.insertKnowledgeFile(knowledgeFile); if (rows > 0) { logger.info("保存知识库文件记录成功: knowledgeId={}, fileId={}, difyFileId={}", knowledgeId, fileId, difyFileId); @@ -722,10 +723,13 @@ public class KnowledgeServiceImpl implements KnowledgeService { if (!difyDocIds.isEmpty()) { aiFileUploadService.batchDeleteFilesFromDify(knowledge.getDifyDatasetId(), difyDocIds); } + }else{ + return ResultDomain.failure("知识库未关联Dify"); } // 3. 软删除本地记录和minio文件 int rows = knowledgeFileMapper.deleteFilesByRootId(fileRootId); + knowledgeMapper.updateKnowledgeFileCount(knowledge.getKnowledgeId(), -1); if (rows > 0) { logger.info("删除知识库文件成功: fileRootId={}", fileRootId); for (TbKnowledgeFile file : versions) { diff --git a/urbanLifelineServ/ai/src/main/resources/mapper/TbKnowledgeMapper.xml b/urbanLifelineServ/ai/src/main/resources/mapper/TbKnowledgeMapper.xml index 1fb778ad..70a379e0 100644 --- a/urbanLifelineServ/ai/src/main/resources/mapper/TbKnowledgeMapper.xml +++ b/urbanLifelineServ/ai/src/main/resources/mapper/TbKnowledgeMapper.xml @@ -112,6 +112,12 @@ WHERE knowledge_id = #{knowledgeId} AND deleted = false + + UPDATE ai.tb_knowledge + SET document_count = document_count + #{fileCount} + WHERE knowledge_id = #{knowledgeId} AND deleted = false + +