Merge remote-tracking branch 'origin/dev' into dev

jinan_dev
yaxin 5 months ago
commit 738c2583d4

@ -50,7 +50,7 @@ public interface ModelCaseService extends IService<ModelCase> {
IPage<IndexDetail> getIndexDetail(IndexResultQuery query, Integer page, Integer size); IPage<IndexDetail> getIndexDetail(IndexResultQuery query, Integer page, Integer size);
void initCaseKnowledgeBase(String caseId); boolean initCaseKnowledgeBase(String caseId);
/** /**

@ -381,15 +381,21 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
} }
@Override @Override
public void initCaseKnowledgeBase(String caseId) { public boolean initCaseKnowledgeBase(String caseId) {
ModelCase modelCase = this.getById(caseId); ModelCase modelCase = this.getById(caseId);
if (StrUtil.isEmpty(modelCase.getKnowledgeBaseId())){ if (StrUtil.isEmpty(modelCase.getKnowledgeBaseId())){
log.info("案件:{} 尚未创建知识库,即将创建知识库库...",modelCase.getCaseName()); log.info("案件:{} 尚未创建知识库,即将创建知识库库...",modelCase.getCaseName());
// 防止名称超长在这里统一采用案件id 作为知识库名称
String caseDetail = modelCase.getCaseDetail();
if (StrUtil.length(caseDetail) > 400){
caseDetail = StrUtil.sub(caseDetail,0,400);
log.info("案件:{} 描述内容太长已截取前400个字符",modelCase.getCaseName());
}
String knowledgeBaseId = difyApiUtil.createDataset( String knowledgeBaseId = difyApiUtil.createDataset(
StrUtil.join("_", modelCase.getCaseName(), modelCase.getCaseNo()), modelCase.getCaseDetail()); StrUtil.join("_", "case", modelCase.getId()), caseDetail);
if (StrUtil.isEmpty(knowledgeBaseId)){ if (StrUtil.isEmpty(knowledgeBaseId)){
log.error("案件:{} 创建知识库失败...",modelCase.getCaseName()); log.error("案件:{} 创建知识库失败...",modelCase.getCaseName());
return; return false;
} }
modelCase.setKnowledgeBaseId(knowledgeBaseId); modelCase.setKnowledgeBaseId(knowledgeBaseId);
modelCaseMapper.updateById(modelCase); modelCaseMapper.updateById(modelCase);
@ -400,12 +406,13 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
if (null == modelCase.getCaseAnalysisSuccessTime()){ if (null == modelCase.getCaseAnalysisSuccessTime()){
log.info("案件:{} 尚未完成案件分析,不进行笔录上传...",modelCase.getCaseName()); log.info("案件:{} 尚未完成案件分析,不进行笔录上传...",modelCase.getCaseName());
return; return true;
} }
log.info("案件:{} 开始上传笔录到知识库...",modelCase.getCaseName()); log.info("案件:{} 开始上传笔录到知识库...",modelCase.getCaseName());
difyApiUtil.syncCaseFileToDifyKnowledgeBase(modelCase,this.listCaseFileIds(caseId)); difyApiUtil.syncCaseFileToDifyKnowledgeBase(modelCase,this.listCaseFileIds(caseId));
log.info("案件:{} 上传笔录到知识库成功...",modelCase.getCaseName()); log.info("案件:{} 上传笔录到知识库成功...",modelCase.getCaseName());
return true;
} }
@Override @Override
@ -421,16 +428,20 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
try { try {
log.info("开始迁移案件:{} 笔录到知识库,当前总体进度:{}...",modelCase.getCaseName(),NumberUtil.formatPercent((success + fail)/(allModelCase.size()*1.0), 2)); log.info("开始迁移案件:{} 笔录到知识库,当前总体进度:{}...",modelCase.getCaseName(),NumberUtil.formatPercent((success + fail)/(allModelCase.size()*1.0), 2));
timer.start(modelCase.getId()); timer.start(modelCase.getId());
initCaseKnowledgeBase(modelCase.getId()); boolean ok = initCaseKnowledgeBase(modelCase.getId());
log.info("案件:{} 迁移笔录到知识库成功,耗时:{}秒...",modelCase.getCaseName(),timer.intervalSecond(modelCase.getId())); if (ok){
success++; success++;
log.info("案件:{} 迁移笔录到知识库成功,耗时:{}秒...",modelCase.getCaseName(),timer.intervalSecond(modelCase.getId()));
}else {
fail++;
}
} catch (Exception e) { } catch (Exception e) {
log.error("案件:{} 迁移笔录到知识库失败..",modelCase.getCaseName(),e); log.error("案件:{} 迁移笔录到知识库失败..",modelCase.getCaseName(),e);
fail++; fail++;
} }
} }
log.info("===========>>>>>迁移笔录到知识库完成,成功个数:{},失败个数:{},总耗时:{}秒...<<<<<===========",success,allModelCase.size()-success,timer.intervalSecond()); log.info("===========>>>>>迁移笔录到知识库完成,成功个数:{},失败个数:{},总耗时:{}秒...<<<<<===========",success,fail,timer.intervalSecond());
} }
@Override @Override

Loading…
Cancel
Save