1.修复RAGFlow连接异常导致级联删除问题
2.修复RAGFlow获取数量逻辑问题
3.远程失败不再删除本地影子记录,避免产生RAGFlow端孤儿文档
4.优化前端提示语
This commit is contained in:
DaGou12138
2026-06-11 17:17:59 +08:00
parent e30ded4de9
commit 3f4e0b4aa0
4 changed files with 11 additions and 15 deletions
@@ -485,16 +485,11 @@ public class RAGFlowAdapter extends KnowledgeBaseAdapter {
@Override @Override
public Integer getDocumentCount(String datasetId) { public Integer getDocumentCount(String datasetId) {
try { DatasetDTO.InfoVO info = getDatasetInfo(datasetId);
DatasetDTO.InfoVO info = getDatasetInfo(datasetId); if (info != null && info.getDocumentCount() != null) {
if (info != null && info.getDocumentCount() != null) { return info.getDocumentCount().intValue();
return info.getDocumentCount().intValue();
}
return 0;
} catch (Exception e) {
log.warn("获取文档数量失败: {}", e.getMessage());
return 0;
} }
return 0;
} }
@Override @Override
@@ -518,7 +513,7 @@ public class RAGFlowAdapter extends KnowledgeBaseAdapter {
return null; return null;
} catch (Exception e) { } catch (Exception e) {
log.warn("获取数据集信息失败: datasetId={}, error={}", datasetId, e.getMessage()); log.warn("获取数据集信息失败: datasetId={}, error={}", datasetId, e.getMessage());
return null; throw convertToRenException(e);
} }
} }
@@ -100,9 +100,9 @@ public class KnowledgeBaseServiceImpl extends BaseServiceImpl<KnowledgeBaseDao,
} }
DatasetDTO.InfoVO datasetInfo = adapter.getDatasetInfo(dto.getDatasetId()); DatasetDTO.InfoVO datasetInfo = adapter.getDatasetInfo(dto.getDatasetId());
// getDatasetInfo 正常返回 null 表示远端确实不存在;异常时已抛出 RenException 由外层 catch 接管
if (datasetInfo == null) { if (datasetInfo == null) {
// RAGFlow 端已删除 → 本地级联清理 // RAGFlow 端已确认删除 → 本地级联清理
log.info("数据集 {} 在 RAGFlow 端不存在,执行本地清理", dto.getDatasetId()); log.info("数据集 {} 在 RAGFlow 端不存在,执行本地清理", dto.getDatasetId());
cleanupLocalDataset(dto.getDatasetId(), dto.getId()); cleanupLocalDataset(dto.getDatasetId(), dto.getId());
// 标记为已删除,让上层从列表中移除 // 标记为已删除,让上层从列表中移除
@@ -529,7 +529,8 @@ public class KnowledgeFilesServiceImpl extends BaseServiceImpl<DocumentDao, Docu
adapter.deleteDocument(datasetId, req); adapter.deleteDocument(datasetId, req);
log.info("远程批量删除请求成功"); log.info("远程批量删除请求成功");
} catch (Exception e) { } catch (Exception e) {
log.warn("远程删除请求部分或全部失败: {}", e.getMessage()); log.error("远程删除请求失败,中止本地清理以避免数据不一致: {}", e.getMessage());
throw new RenException(e.getMessage());
} }
// 4. 原子化清理本地影子记录并同步统计数据 // 4. 原子化清理本地影子记录并同步统计数据
@@ -217,9 +217,9 @@ export default {
} else { } else {
this.$message.error(res.data?.msg || this.$t('knowledgeFileUpload.deleteFailed')); this.$message.error(res.data?.msg || this.$t('knowledgeFileUpload.deleteFailed'));
} }
}, () => { }, (err) => {
this.$set(this.deleteLoadingMap, doc.id, false); this.$set(this.deleteLoadingMap, doc.id, false);
this.$message.error(this.$t('knowledgeFileUpload.deleteFailed')); this.$message.error(err?.data?.msg ||this.$t('knowledgeFileUpload.deleteFailed'));
}); });
}).catch(() => {}); }).catch(() => {});
}, },