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
+
+