知识库文档数量同步

This commit is contained in:
2025-11-07 16:09:00 +08:00
parent 7edc4f3a35
commit 495e3569e2
3 changed files with 74 additions and 20 deletions

View File

@@ -278,14 +278,19 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
uploadFile.setDeleted(false);
int rows = uploadFileMapper.insertUploadFile(uploadFile);
knowledge.setDocumentCount(knowledge.getDocumentCount() + 1);
int knowledgeRows = knowledgeMapper.updateKnowledge(knowledge);
if (rows > 0) {
log.info("知识库文件上传成功: uploadFileId={}, sysFileId={}, fileName={}",
uploadFile.getID(), sysFile.getID(), originalFilename);
// 9. 异步更新向量化状态
asyncUpdateVectorStatus(uploadFile.getID());
resultDomain.success("文件上传成功", uploadFile);
if (knowledgeRows <=0) {
resultDomain.setMessage("知识库文件数量更新失败");
}
return resultDomain;
} else {
resultDomain.fail("保存文件记录失败");
@@ -330,7 +335,9 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
failedFiles.add(file.getOriginalFilename() + ": " + uploadResult.getMessage());
}
}
TbAiKnowledge knowledge = knowledgeMapper.selectKnowledgeById(knowledgeId);
knowledge.setDocumentCount(knowledge.getDocumentCount() + uploadedFiles.size());
int knowledgeRows = knowledgeMapper.updateKnowledge(knowledge);
if (!failedFiles.isEmpty()) {
String message = "部分文件上传失败: " + String.join(", ", failedFiles);
log.warn(message);
@@ -338,7 +345,9 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
} else {
resultDomain.success("批量上传成功", uploadedFiles);
}
if (knowledgeRows <=0) {
resultDomain.setMessage("知识库文件数量更新失败");
}
return resultDomain;
} catch (Exception e) {
@@ -386,9 +395,14 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
deleteEntity.setID(fileId);
int rows = uploadFileMapper.deleteUploadFile(deleteEntity);
knowledge.setDocumentCount(knowledge.getDocumentCount() - 1);
int knowledgeRows = knowledgeMapper.updateKnowledge(knowledge);
if (rows > 0) {
log.info("文件删除成功: {} - {}", fileId, file.getFileName());
resultDomain.success("文件删除成功", true);
if (knowledgeRows <=0) {
resultDomain.setMessage("知识库文件数量更新失败");
}
return resultDomain;
} else {
resultDomain.fail("文件删除失败");