From 5ce012000b8344f979b0c6ef042acd65f6b26b23 Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Tue, 30 Dec 2025 20:54:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/xyzh/ai/mapper/TbKnowledgeMapper.java | 2 ++ .../java/org/xyzh/ai/service/impl/KnowledgeServiceImpl.java | 4 ++++ .../ai/src/main/resources/mapper/TbKnowledgeMapper.xml | 6 ++++++ 3 files changed, 12 insertions(+) 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 + +