修改失败补偿
This commit is contained in:
@@ -70,75 +70,79 @@ public class CorpusFailJob {
|
|||||||
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
||||||
|
|
||||||
|
|
||||||
LambdaQueryWrapper<AiAnalysisRequestLogs> queryWrapper = new LambdaQueryWrapper<>();
|
try {
|
||||||
queryWrapper.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisErrors.getAiAnalysisRequestId());
|
LambdaQueryWrapper<AiAnalysisRequestLogs> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
AiAnalysisRequestLogs oldAiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(queryWrapper);
|
queryWrapper.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisErrors.getAiAnalysisRequestId());
|
||||||
|
AiAnalysisRequestLogs oldAiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(queryWrapper);
|
||||||
|
|
||||||
if (null != oldAiAnalysisRequestLogs) {
|
if (null != oldAiAnalysisRequestLogs) {
|
||||||
DiFyReq diFyReq = JSONObject.parseObject(oldAiAnalysisRequestLogs.getDifyRequest(), DiFyReq.class);
|
DiFyReq diFyReq = JSONObject.parseObject(oldAiAnalysisRequestLogs.getDifyRequest(), DiFyReq.class);
|
||||||
CorpusReportDTO corpusReportDTO = JSONObject.parseObject(oldAiAnalysisRequestLogs.getBusinessRequest(), CorpusReportDTO.class);
|
CorpusReportDTO corpusReportDTO = JSONObject.parseObject(oldAiAnalysisRequestLogs.getBusinessRequest(), CorpusReportDTO.class);
|
||||||
|
|
||||||
|
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyReq);
|
||||||
|
log.info("runDify execDifyFlow {}",execDifyFlow);
|
||||||
|
if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){
|
||||||
|
String text = execDifyFlow.getJSONObject("outputs").getString("text");
|
||||||
|
String resultStrOne = FlowResultSplitUtil.flowOutputTextSplit(text, "任务1", "任务2");
|
||||||
|
String resultStrTwo = FlowResultSplitUtil.flowOutputTextSplit(text, "任务2", null);
|
||||||
|
if (StringUtils.isBlank(resultStrOne) || StringUtils.isBlank(resultStrTwo)) {
|
||||||
|
log.info("企微语料解析为空,text:{}", text);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Map<String, String> ltoMap = new HashMap<>();
|
||||||
|
ltoMap.put("analysisRecordId", execDifyFlow.getString("aiAnalysisRequestId"));
|
||||||
|
ltoMap.put("analysisScene", corpusReportDTO.getAnalysisScene() + "");
|
||||||
|
String tag = "";
|
||||||
|
if (corpusReportDTO.getAnalysisScene() == 1) { //企微
|
||||||
|
ltoMap.put("unionId", corpusReportDTO.getUnionId());
|
||||||
|
ltoMap.put("consultantId", corpusReportDTO.getUserId());
|
||||||
|
tag = CategoryEnum.ENTERPRISE_WECHAT.getCode();
|
||||||
|
} else {
|
||||||
|
ltoMap.put("recordId", corpusReportDTO.getUserId());
|
||||||
|
tag = CategoryEnum.PHONE_VOICE.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
ltoMap.put("communicateDate", corpusReportDTO.getCorpusTime());
|
||||||
|
ltoMap.put("analysisResult", resultStrOne.replace("#", ""));
|
||||||
|
ltoMap.put("analysisDetail", resultStrTwo);
|
||||||
|
// 发送MQ
|
||||||
|
log.info("send mq {}", ltoMap);
|
||||||
|
tmTelephoneCorpusService.sendMq(tag, JSONObject.toJSONString(ltoMap));
|
||||||
|
try {
|
||||||
|
// 保存报告
|
||||||
|
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
|
||||||
|
.aiAnalysisRequestId(oldAiAnalysisRequestLogs.getAiAnalysisRequestId())
|
||||||
|
.corpusType(corpusReportDTO.getAnalysisScene())
|
||||||
|
.corpusTime(DateUtil.parseTime(corpusReportDTO.getCorpusTime()))
|
||||||
|
.userId(corpusReportDTO.getUserId())
|
||||||
|
.unionId(corpusReportDTO.getUnionId())
|
||||||
|
.reportTitle(resultStrOne.replace("#", ""))
|
||||||
|
.reportInfo(resultStrTwo)
|
||||||
|
.isLike(0)
|
||||||
|
.isDeleted(0)
|
||||||
|
.version(0)
|
||||||
|
.createBy("system")
|
||||||
|
.updateBy("")
|
||||||
|
.createSqlby("")
|
||||||
|
.updateSqlby("")
|
||||||
|
.createTime(new Date())
|
||||||
|
.build());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info(" 企业语料处理保存报告异常processItem:{} ", e);
|
||||||
|
}
|
||||||
|
|
||||||
Object difyoutResult = diFyService.getDiFyObject(diFyReq);
|
|
||||||
JSONObject execDifyFlow = JSONObject.parseObject(JSON.toJSONString(difyoutResult)).getJSONObject("data");
|
|
||||||
log.info("runDify execDifyFlow {}", execDifyFlow);
|
|
||||||
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
|
||||||
String text = execDifyFlow.getJSONObject("outputs").getString("text");
|
|
||||||
String resultStrOne = FlowResultSplitUtil.flowOutputTextSplit(text, "任务1", "任务2");
|
|
||||||
String resultStrTwo = FlowResultSplitUtil.flowOutputTextSplit(text, "任务2", null);
|
|
||||||
if (StringUtils.isBlank(resultStrOne) || StringUtils.isBlank(resultStrTwo)) {
|
|
||||||
log.info("企微语料解析为空,text:{}", text);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
Map<String, String> ltoMap = new HashMap<>();
|
oldAiAnalysisRequestLogs.setDifyResponse(JSON.toJSONString(execDifyFlow));
|
||||||
ltoMap.put("analysisRecordId", execDifyFlow.getString("aiAnalysisRequestId"));
|
aiAnalysisRequestLogsService.save(oldAiAnalysisRequestLogs);
|
||||||
ltoMap.put("analysisScene", corpusReportDTO.getAnalysisScene() + "");
|
aiAnalysisErrors.setRetryCount(aiAnalysisErrors.getRetryCount() + 1);
|
||||||
String tag = "";
|
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
|
||||||
if (corpusReportDTO.getAnalysisScene() == 1) { //企微
|
aiAnalysisErrorsService.save(aiAnalysisErrors);
|
||||||
ltoMap.put("unionId", corpusReportDTO.getUnionId());
|
|
||||||
ltoMap.put("consultantId", corpusReportDTO.getUserId());
|
|
||||||
tag = CategoryEnum.ENTERPRISE_WECHAT.getCode();
|
|
||||||
} else {
|
|
||||||
ltoMap.put("recordId", corpusReportDTO.getUserId());
|
|
||||||
tag = CategoryEnum.PHONE_VOICE.getCode();
|
|
||||||
}
|
|
||||||
|
|
||||||
ltoMap.put("communicateDate", corpusReportDTO.getCorpusTime());
|
|
||||||
ltoMap.put("analysisResult", resultStrOne.replace("#", ""));
|
|
||||||
ltoMap.put("analysisDetail", resultStrTwo);
|
|
||||||
// 发送MQ
|
|
||||||
log.info("send mq {}", ltoMap);
|
|
||||||
tmTelephoneCorpusService.sendMq(tag, JSONObject.toJSONString(ltoMap));
|
|
||||||
try {
|
|
||||||
// 保存报告
|
|
||||||
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
|
|
||||||
.aiAnalysisRequestId(oldAiAnalysisRequestLogs.getAiAnalysisRequestId())
|
|
||||||
.corpusType(corpusReportDTO.getAnalysisScene())
|
|
||||||
.corpusTime(DateUtil.parseTime(corpusReportDTO.getCorpusTime()))
|
|
||||||
.userId(corpusReportDTO.getUserId())
|
|
||||||
.unionId(corpusReportDTO.getUnionId())
|
|
||||||
.reportTitle(resultStrOne.replace("#", ""))
|
|
||||||
.reportInfo(resultStrTwo)
|
|
||||||
.isLike(0)
|
|
||||||
.isDeleted(0)
|
|
||||||
.version(0)
|
|
||||||
.createBy("system")
|
|
||||||
.updateBy("")
|
|
||||||
.createSqlby("")
|
|
||||||
.updateSqlby("")
|
|
||||||
.createTime(new Date())
|
|
||||||
.build());
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.info(" 企业语料处理保存报告异常processItem:{} ", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
oldAiAnalysisRequestLogs.setDifyResponse(JSON.toJSONString(execDifyFlow));
|
} catch (Exception e) {
|
||||||
aiAnalysisRequestLogsService.save(oldAiAnalysisRequestLogs);
|
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("0");
|
||||||
aiAnalysisErrors.setRetryCount(aiAnalysisErrors.getRetryCount() + 1);
|
|
||||||
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
|
|
||||||
aiAnalysisErrorsService.save(aiAnalysisErrors);
|
aiAnalysisErrorsService.save(aiAnalysisErrors);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,4 +9,5 @@ public interface DiFyService {
|
|||||||
public Object getDiFyObject(DiFyReq diFyReq);
|
public Object getDiFyObject(DiFyReq diFyReq);
|
||||||
|
|
||||||
public JSONObject executeDifyFlow(DiFyReq diFyReq, String businessType, String businessData);
|
public JSONObject executeDifyFlow(DiFyReq diFyReq, String businessType, String businessData);
|
||||||
|
public JSONObject executeDifyFlow(DiFyReq diFyReq);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,4 +91,15 @@ public class DiFyServiceImpl implements DiFyService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject executeDifyFlow(DiFyReq diFyReq) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("inputs",diFyReq.getInputs());
|
||||||
|
map.put("response_mode","blocking");
|
||||||
|
map.put("user",diFyReq.getUser());
|
||||||
|
|
||||||
|
JSONObject difyResult = diFyFeign.runWorkflows("Bearer "+diFyReq.getFlowId(),map);
|
||||||
|
return difyResult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user