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