解决 解析异常

This commit is contained in:
ZLI263
2025-09-19 22:28:03 +08:00
parent 7777da8d0e
commit 77551cf0c8

View File

@@ -23,7 +23,6 @@ import com.volvo.ai.analytic.center.mq.CorpusQuestionProducer;
import com.volvo.ai.analytic.center.service.*; import com.volvo.ai.analytic.center.service.*;
import com.volvo.ai.analytic.center.utils.AiAnalysisUtils; import com.volvo.ai.analytic.center.utils.AiAnalysisUtils;
import com.volvo.ai.analytic.center.utils.ConstantStr; import com.volvo.ai.analytic.center.utils.ConstantStr;
import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -108,6 +107,8 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
this.save(tmTelephoneCorpus); this.save(tmTelephoneCorpus);
} }
private String communicateDateStr = "communicateDate"; private String communicateDateStr = "communicateDate";
private String outputsStr="outputs";
private String aiAnalysisRequestIdStr = "aiAnalysisRequestId";
@Override @Override
public void runTelephoneCorpusDify(AicorpusTelephoneDTO aicorpusTelephone) { public void runTelephoneCorpusDify(AicorpusTelephoneDTO aicorpusTelephone) {
@@ -230,11 +231,11 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
private void parseDfiyResult(JSONObject execDifyFlow,String recordId,String communicateDate, private void parseDfiyResult(JSONObject execDifyFlow,String recordId,String communicateDate,
String aiAnalysisRequestIdDB,String businessType) { String aiAnalysisRequestIdDB,String businessType) {
log.info("dcc语料 parseDfiyResult businessType: {} execDifyFlow: {}", businessType,execDifyFlow); log.info("dcc语料 parseDfiyResult businessType: {} execDifyFlow: {}, recordId: {}", businessType,execDifyFlow,recordId);
try { try {
if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){ if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){
String outputs = execDifyFlow.getString("outputs"); String outputs = execDifyFlow.getString(outputsStr);
// 发送MQ // 发送MQ
if (BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode().equals(businessType)){//DCC 客户画像 if (BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode().equals(businessType)){//DCC 客户画像
@@ -251,7 +252,7 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1"); aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors); aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors);
} }
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(outputs).build()); aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString(aiAnalysisRequestIdStr)).businessResponse(outputs).build());
} catch (Exception e) { } catch (Exception e) {
log.info(" 电话语料处理保存报告异常processItem{} ", e.getMessage()); log.info(" 电话语料处理保存报告异常processItem{} ", e.getMessage());
@@ -337,7 +338,7 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
String newAiAnalysisRequestId = StringUtils.isEmpty(oldAiAnalysisRequestId)? AiAnalysisUtils.getAiAnalysisRequestId(BusinessTypeEnum.SMART_ASSISTANT_4IN1.getCode()): String newAiAnalysisRequestId = StringUtils.isEmpty(oldAiAnalysisRequestId)? AiAnalysisUtils.getAiAnalysisRequestId(BusinessTypeEnum.SMART_ASSISTANT_4IN1.getCode()):
oldAiAnalysisRequestId; oldAiAnalysisRequestId;
inputMap.put("aiAnalysisRequestId",newAiAnalysisRequestId); inputMap.put(aiAnalysisRequestIdStr,newAiAnalysisRequestId);
diFyImageReq.setInputs(inputMap); diFyImageReq.setInputs(inputMap);
CorpusReportDTO corpusReportDTO = new CorpusReportDTO(); CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
corpusReportDTO.setRecordId(aicorpusTelephone.getSourceId()); corpusReportDTO.setRecordId(aicorpusTelephone.getSourceId());
@@ -347,9 +348,9 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
// 获取配置 // 获取配置
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT_4IN1.getCode(), JSONObject.toJSONString(corpusReportDTO),newAiAnalysisRequestId ); JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT_4IN1.getCode(), JSONObject.toJSONString(corpusReportDTO),newAiAnalysisRequestId );
log.info("runDify智能客服4IN1 {}",execDifyFlow); log.info("runDify智能客服4IN1 {}",execDifyFlow);
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId"); String aiAnalysisRequestId = execDifyFlow.getString(aiAnalysisRequestIdStr);
if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){ if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){
JSONObject outputsJson = execDifyFlow.getJSONObject("outputs"); JSONObject outputsJson = execDifyFlow.getJSONObject(outputsStr);
String message = JSONObject.toJSONString(outputsJson); String message = JSONObject.toJSONString(outputsJson);
log.info("send 4IN1mq {}",message); log.info("send 4IN1mq {}",message);
intelligentCustomerService.sendMq(message); intelligentCustomerService.sendMq(message);
@@ -359,7 +360,7 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1"); aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors); aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors);
} }
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(message).build()); aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString(aiAnalysisRequestIdStr)).businessResponse(message).build());
} }