修改日志
This commit is contained in:
@@ -125,6 +125,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
|
|
||||||
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(), "DCC"), ltoChannelId);
|
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(), "DCC"), ltoChannelId);
|
||||||
|
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -134,10 +135,8 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
|
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("1");
|
||||||
aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors);
|
aiAnalysisErrorsService.updateAiAnalysisErrors(aiAnalysisErrors);
|
||||||
}
|
}
|
||||||
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse("").build());
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info(" 电话语料处理保存报告异常processItem:{} ", e);
|
log.info(" 画像电话语料处理保存报告异常processItem:{} ", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -161,78 +160,78 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
log.info("画像-企微语料内容:FromUserId:{}, AcceptUserId:{}", item.getFromUserId(), item.getAcceptUserId());
|
log.info("画像-企微语料内容:FromUserId:{}, AcceptUserId:{}", item.getFromUserId(), item.getAcceptUserId());
|
||||||
// 1,vdqw_workuserinfo 这个表对应是 B端认证中心userId
|
// 1,vdqw_workuserinfo 这个表对应是 B端认证中心userId
|
||||||
// 2,vdqw_externalcontact 这个表对应是 企微客户unionId
|
// 2,vdqw_externalcontact 这个表对应是 企微客户unionId
|
||||||
TmOdsVdqwExternalcontact tmOdsVdqwExternalcontact = tmOdsVdqwMessagearchivingService.getUnionId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
try {
|
||||||
TmOdsVdqwWorkuserinfo tmOdsVdqwWorkuserinfo = tmOdsVdqwMessagearchivingService.getUserId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
TmOdsVdqwExternalcontact tmOdsVdqwExternalcontact = tmOdsVdqwMessagearchivingService.getUnionId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
||||||
if (null == tmOdsVdqwExternalcontact || null == tmOdsVdqwWorkuserinfo) {
|
TmOdsVdqwWorkuserinfo tmOdsVdqwWorkuserinfo = tmOdsVdqwMessagearchivingService.getUserId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
||||||
log.info("企微查询信息为空 ");
|
if (null == tmOdsVdqwExternalcontact || null == tmOdsVdqwWorkuserinfo) {
|
||||||
return;
|
log.info("企微查询信息为空 ");
|
||||||
}
|
|
||||||
String unionId = tmOdsVdqwExternalcontact.getUnionId();
|
|
||||||
String userId = tmOdsVdqwWorkuserinfo.getMiddleUserId().toString();
|
|
||||||
log.info("企微查询信息:unionId:{}, userId:{}", unionId, userId);
|
|
||||||
if (StringUtils.isNotBlank(item.getFromUserId()) && StringUtils.isNotBlank(item.getAcceptUserId())) {
|
|
||||||
List<OdsVdqwMessageOTD> contetnList = tmOdsVdqwMessagearchivingMapper.queryOdsVdqwMessageByFromUserIdAndAcceptUserId(statTime, endTime, Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
|
||||||
OdsVdqwMessageOTD maxMsgTimeItem = contetnList.stream()
|
|
||||||
.max((o1, o2) -> o1.getMsgTime().compareTo(o2.getMsgTime()))
|
|
||||||
.orElse(null);
|
|
||||||
Map<String, Object> inputMap = new HashMap<>();
|
|
||||||
DiFyReq diFyImageReq = new DiFyReq();
|
|
||||||
diFyImageReq.setUser(ConstantStr.corpus_user);
|
|
||||||
diFyImageReq.setFlowId(qiweiToken);
|
|
||||||
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode());
|
|
||||||
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
|
|
||||||
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
|
|
||||||
StringBuffer chatList = new StringBuffer();
|
|
||||||
AtomicInteger externalcontactCount = new AtomicInteger();
|
|
||||||
contetnList.forEach(contentItem -> {
|
|
||||||
String title = "";
|
|
||||||
if (tmOdsVdqwExternalcontact.getExternalUserId().equals(contentItem.getFromUserId())) {
|
|
||||||
title = "客户:";
|
|
||||||
externalcontactCount.addAndGet(1);
|
|
||||||
} else {
|
|
||||||
title = "顾问:";
|
|
||||||
}
|
|
||||||
JSONObject contentJson = JSONObject.parseObject(contentItem.getContent());
|
|
||||||
String content = contentJson.getString("content");
|
|
||||||
// 拼接 role 和 text
|
|
||||||
String chat = title.concat(content);
|
|
||||||
runMaskingRuleInput.setOldStr(chat);
|
|
||||||
String corpusChat = dataMaskingRuleService.runMaskingRule(runMaskingRuleInput);
|
|
||||||
chatList.append(corpusChat).append("\n");
|
|
||||||
});
|
|
||||||
if (externalcontactCount.get() < 1) {
|
|
||||||
log.info("没有客户回复的语料,无需解析");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
String unionId = tmOdsVdqwExternalcontact.getUnionId();
|
||||||
|
String userId = tmOdsVdqwWorkuserinfo.getMiddleUserId().toString();
|
||||||
|
log.info("企微查询信息:unionId:{}, userId:{}", unionId, userId);
|
||||||
|
if (StringUtils.isNotBlank(item.getFromUserId()) && StringUtils.isNotBlank(item.getAcceptUserId())) {
|
||||||
|
List<OdsVdqwMessageOTD> contetnList = tmOdsVdqwMessagearchivingMapper.queryOdsVdqwMessageByFromUserIdAndAcceptUserId(statTime, endTime, Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
|
||||||
|
OdsVdqwMessageOTD maxMsgTimeItem = contetnList.stream()
|
||||||
|
.max((o1, o2) -> o1.getMsgTime().compareTo(o2.getMsgTime()))
|
||||||
|
.orElse(null);
|
||||||
|
Map<String, Object> inputMap = new HashMap<>();
|
||||||
|
DiFyReq diFyImageReq = new DiFyReq();
|
||||||
|
diFyImageReq.setUser(ConstantStr.corpus_user);
|
||||||
|
diFyImageReq.setFlowId(qiweiToken);
|
||||||
|
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode());
|
||||||
|
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
|
||||||
|
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
|
||||||
|
StringBuffer chatList = new StringBuffer();
|
||||||
|
AtomicInteger externalcontactCount = new AtomicInteger();
|
||||||
|
contetnList.forEach(contentItem -> {
|
||||||
|
String title = "";
|
||||||
|
if (tmOdsVdqwExternalcontact.getExternalUserId().equals(contentItem.getFromUserId())) {
|
||||||
|
title = "客户:";
|
||||||
|
externalcontactCount.addAndGet(1);
|
||||||
|
} else {
|
||||||
|
title = "顾问:";
|
||||||
|
}
|
||||||
|
JSONObject contentJson = JSONObject.parseObject(contentItem.getContent());
|
||||||
|
String content = contentJson.getString("content");
|
||||||
|
// 拼接 role 和 text
|
||||||
|
String chat = title.concat(content);
|
||||||
|
runMaskingRuleInput.setOldStr(chat);
|
||||||
|
String corpusChat = dataMaskingRuleService.runMaskingRule(runMaskingRuleInput);
|
||||||
|
chatList.append(corpusChat).append("\n");
|
||||||
|
});
|
||||||
|
if (externalcontactCount.get() < 1) {
|
||||||
|
log.info("没有客户回复的语料,无需解析");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
inputMap.put("chat", chatList.toString());
|
inputMap.put("chat", chatList.toString());
|
||||||
inputMap.put("unionId", unionId);
|
inputMap.put("unionId", unionId);
|
||||||
inputMap.put("consultantId", userId);
|
inputMap.put("consultantId", userId);
|
||||||
inputMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
inputMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||||
inputMap.put("brand",getBrand());
|
inputMap.put("brand",getBrand());
|
||||||
inputMap.put("brandSeries",getSeriesByBrandId());
|
inputMap.put("brandSeries",getSeriesByBrandId());
|
||||||
diFyImageReq.setInputs(inputMap);
|
diFyImageReq.setInputs(inputMap);
|
||||||
|
|
||||||
CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
|
CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
|
||||||
corpusReportDTO.setCorpusTime(DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
corpusReportDTO.setCorpusTime(DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||||
corpusReportDTO.setUnionId(unionId);
|
corpusReportDTO.setUnionId(unionId);
|
||||||
corpusReportDTO.setUserId(userId);
|
corpusReportDTO.setUserId(userId);
|
||||||
corpusReportDTO.setAnalysisScene(1l);
|
corpusReportDTO.setAnalysisScene(1l);
|
||||||
// 获取配置
|
// 获取配置
|
||||||
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode(), JSONObject.toJSONString(corpusReportDTO), null);
|
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode(), JSONObject.toJSONString(corpusReportDTO), null);
|
||||||
log.info("runDify execDifyFlow {}", execDifyFlow);
|
log.info("runDify execDifyFlow {}", execDifyFlow);
|
||||||
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
|
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
|
||||||
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
|
|
||||||
|
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"QIWEI"),ltoChannelId);
|
||||||
|
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
||||||
|
}
|
||||||
|
|
||||||
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"QIWEI"),ltoChannelId);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse("").build());
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.info(" 企业语料处理保存报告异常processItem:{} ", e);
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info(" 画像企业语料处理保存报告异常:{} ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,6 +274,12 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
|
|
||||||
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"NAMEPLATE"),ltoChannelId);
|
huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"NAMEPLATE"),ltoChannelId);
|
||||||
|
|
||||||
|
try {
|
||||||
|
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info(" 画像铭牌保存报告异常processItem:{} ", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("nameplate processItem error {}", e.getMessage());
|
log.error("nameplate processItem error {}", e.getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user