diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/enums/CategoryEnum.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/enums/CategoryEnum.java index e83c5f9..d584474 100644 --- a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/enums/CategoryEnum.java +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/enums/CategoryEnum.java @@ -4,9 +4,8 @@ public enum CategoryEnum { ENTERPRISE_WECHAT("enterprise_wechat", "企微记录"), PHONE_VOICE("phone_voice", "语音电话"), - PHONE_VOICE_PORTRAIT("phone_voice_portrait", "语音电话,用户画像"), + PORTRAIT_ALLIN("portrait_allin", "语音电话,用户画像"), NAMEPLATE_VOICE("nameplate_voice", "铭牌"), - OTHER("未知", "未知记录"), ; private String code; diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java index 382e9a7..c7aeca2 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java @@ -68,6 +68,9 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl ltoMap = new HashMap(); - ltoMap.put("analysisRecordId", aiAnalysisRequestId); - ltoMap.put("analysisScene", "2"); - ltoMap.put("recordId", aicorpusTelephone.getSourceId()); - ltoMap.put("communicateDate", formattedDateStartTime); - ltoMap.put("analysisResult", resultStrOne); - ltoMap.put("analysisDetail", resultStrTwo); - // 发送MQ + // 获取配置 + diFyImageReq.setFlowId(telephoneTokenPortrait); + JSONObject execDifyFlowForPortrait = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), + JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); + log.info("runDify execDifyFlow 返回 ,客户画像 {}",execDifyFlow); + parseDfiyResult(execDifyFlowForPortrait, aicorpusTelephone.getSourceId(), formattedDateStartTime, aicorpusTelephone.getAiAnalysisRequestId(), BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode()); + } + } - log.info("send mq {}",ltoMap); + private void parseDfiyResult(JSONObject execDifyFlow,String recordId,String communicateDate, + String aiAnalysisRequestIdDB,String businessType) { + + 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; + } + String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId"); + Map ltoMap = new HashMap(); + ltoMap.put("analysisRecordId", aiAnalysisRequestId); + ltoMap.put("analysisScene", "2"); + ltoMap.put("recordId",recordId); + ltoMap.put("communicateDate", communicateDate); + ltoMap.put("analysisResult", resultStrOne); + ltoMap.put("analysisDetail", resultStrTwo); + // 发送MQ + + + if (BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode().equals(businessType)){//DCC 客户画像 + log.info("send mq 电话语料场景,客户画像需求, {}",ltoMap); + sendMq( CategoryEnum.PORTRAIT_ALLIN.getCode(), JSONObject.toJSONString(ltoMap)); + }else if (BusinessTypeEnum.SMART_ASSISTANT.getCode().equals(businessType)){ // dcc 总结 + log.info("send mq 电话语料场景,总结需求, {}",ltoMap); sendMq( CategoryEnum.PHONE_VOICE.getCode(), JSONObject.toJSONString(ltoMap)); - try { - if(StringUtils.isNotEmpty(aicorpusTelephone.getAiAnalysisRequestId())){ - AiAnalysisErrors aiAnalysisErrors = new AiAnalysisErrors(); - aiAnalysisErrors.setAiAnalysisRequestId(aiAnalysisRequestId); - aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1"); - aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors); - } - aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(JSONObject.toJSONString(ltoMap)).build()); + } - } catch (Exception e) { - log.info(" 电话语料处理保存报告异常processItem:{} ", e); + try { + if(StringUtils.isNotEmpty(aiAnalysisRequestIdDB)){ + AiAnalysisErrors aiAnalysisErrors = new AiAnalysisErrors(); + aiAnalysisErrors.setAiAnalysisRequestId(aiAnalysisRequestIdDB); + aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1"); + aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors); } + aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(JSONObject.toJSONString(ltoMap)).build()); + + } catch (Exception e) { + log.info(" 电话语料处理保存报告异常processItem:{} ", e); } } + }