解决 解析异常

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.utils.AiAnalysisUtils;
import com.volvo.ai.analytic.center.utils.ConstantStr;
import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -108,6 +107,8 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
this.save(tmTelephoneCorpus);
}
private String communicateDateStr = "communicateDate";
private String outputsStr="outputs";
private String aiAnalysisRequestIdStr = "aiAnalysisRequestId";
@Override
public void runTelephoneCorpusDify(AicorpusTelephoneDTO aicorpusTelephone) {
@@ -230,11 +231,11 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
private void parseDfiyResult(JSONObject execDifyFlow,String recordId,String communicateDate,
String aiAnalysisRequestIdDB,String businessType) {
log.info("dcc语料 parseDfiyResult businessType: {} execDifyFlow: {}", businessType,execDifyFlow);
log.info("dcc语料 parseDfiyResult businessType: {} execDifyFlow: {}, recordId: {}", businessType,execDifyFlow,recordId);
try {
if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){
String outputs = execDifyFlow.getString("outputs");
String outputs = execDifyFlow.getString(outputsStr);
// 发送MQ
if (BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode().equals(businessType)){//DCC 客户画像
@@ -251,7 +252,7 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
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) {
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()):
oldAiAnalysisRequestId;
inputMap.put("aiAnalysisRequestId",newAiAnalysisRequestId);
inputMap.put(aiAnalysisRequestIdStr,newAiAnalysisRequestId);
diFyImageReq.setInputs(inputMap);
CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
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 );
log.info("runDify智能客服4IN1 {}",execDifyFlow);
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
String aiAnalysisRequestId = execDifyFlow.getString(aiAnalysisRequestIdStr);
if(null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")){
JSONObject outputsJson = execDifyFlow.getJSONObject("outputs");
JSONObject outputsJson = execDifyFlow.getJSONObject(outputsStr);
String message = JSONObject.toJSONString(outputsJson);
log.info("send 4IN1mq {}",message);
intelligentCustomerService.sendMq(message);
@@ -359,7 +360,7 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
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());
}