语料信息不完整,dcc加日志

This commit is contained in:
ZLI263
2025-09-18 15:08:12 +08:00
parent 40c7d471b6
commit 6ba44cb3d0

View File

@@ -164,9 +164,14 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
} }
private synchronized void processItem(OdsVdqwMessageOTD item, String statTime, String endTime) { private void processItem(OdsVdqwMessageOTD item, String statTime, String endTime) {
log.info("企微语料内容FromUserId{}, AcceptUserId{}", item.getFromUserId(), item.getAcceptUserId()); log.info("企微语料内容FromUserId{}, AcceptUserId{}", item.getFromUserId(), item.getAcceptUserId());
// 1vdqw_workuserinfo 这个表对应是 B端认证中心userId DiFyReq diFyImageReq = new DiFyReq();
CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
OdsVdqwMessageOTD finalMaxMsgTimeItem = new OdsVdqwMessageOTD();
StringBuffer chatList = new StringBuffer();
String unionId = "";
synchronized (this) {// 1vdqw_workuserinfo 这个表对应是 B端认证中心userId
// 2vdqw_externalcontact 这个表对应是 企微客户unionId // 2vdqw_externalcontact 这个表对应是 企微客户unionId
TmOdsVdqwExternalcontact tmOdsVdqwExternalcontact = getUnionId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId())); TmOdsVdqwExternalcontact tmOdsVdqwExternalcontact = getUnionId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
TmOdsVdqwWorkuserinfo tmOdsVdqwWorkuserinfo = getUserId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId())); TmOdsVdqwWorkuserinfo tmOdsVdqwWorkuserinfo = getUserId(Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
@@ -174,21 +179,21 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
log.info("企微查询信息为空 "); log.info("企微查询信息为空 ");
return; return;
} }
String unionId = tmOdsVdqwExternalcontact.getUnionId(); unionId = tmOdsVdqwExternalcontact.getUnionId();
String userId = tmOdsVdqwWorkuserinfo.getMiddleUserId().toString(); String userId = tmOdsVdqwWorkuserinfo.getMiddleUserId().toString();
log.info("企微查询信息unionId{}, userId{}", unionId, userId); log.info("企微查询信息unionId{}, userId{}", unionId, userId);
if (StringUtils.isNotBlank(item.getFromUserId()) && StringUtils.isNotBlank(item.getAcceptUserId())) { if (StringUtils.isNotBlank(item.getFromUserId()) && StringUtils.isNotBlank(item.getAcceptUserId())) {
List<OdsVdqwMessageOTD> contetnList = tmOdsVdqwMessagearchivingMapper.queryOdsVdqwMessageByFromUserIdAndAcceptUserId(statTime, endTime, Arrays.asList(item.getFromUserId(), item.getAcceptUserId())); List<OdsVdqwMessageOTD> contetnList = tmOdsVdqwMessagearchivingMapper.queryOdsVdqwMessageByFromUserIdAndAcceptUserId(statTime, endTime, Arrays.asList(item.getFromUserId(), item.getAcceptUserId()));
log.info("一条完整的企微信息的聊天内容,未加密:{}", contetnList.toString()); log.info("一条完整的企微信息的聊天内容,未加密:{}", contetnList.toString());
OdsVdqwMessageOTD maxMsgTimeItem = contetnList.stream() finalMaxMsgTimeItem = contetnList.stream()
.max((o1, o2) -> o1.getMsgTime().compareTo(o2.getMsgTime())) .max((o1, o2) -> o1.getMsgTime().compareTo(o2.getMsgTime()))
.orElse(null); .orElse(null);
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode()); List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode());
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput(); RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems); runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
StringBuffer chatList = new StringBuffer();
AtomicInteger externalcontactCount = new AtomicInteger(); AtomicInteger externalcontactCount = new AtomicInteger();
contetnList.forEach(contentItem -> { contetnList.forEach(contentItem -> {
String title = ""; String title = "";
@@ -213,36 +218,40 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
log.info("一条完整的企微信息的聊天内容,循环次数:{} ,应该循环次数:{}, 掩码后:{}", externalcontactCount.get(), contetnList.size(), chatList.toString()); log.info("一条完整的企微信息的聊天内容,循环次数:{} ,应该循环次数:{}, 掩码后:{}", externalcontactCount.get(), contetnList.size(), chatList.toString());
Map<String, Object> inputMap = new HashMap<>(); Map<String, Object> inputMap = new HashMap<>();
DiFyReq diFyImageReq = new DiFyReq();
diFyImageReq.setUser(ConstantStr.corpus_user); diFyImageReq.setUser(ConstantStr.corpus_user);
diFyImageReq.setFlowId(qiweiToken); diFyImageReq.setFlowId(qiweiToken);
inputMap.put("chat", chatList.toString()); inputMap.put("chat", chatList.toString());
inputMap.put("analysisScene", "1"); inputMap.put("analysisScene", "1");
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(finalMaxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
inputMap.put("version", 2); inputMap.put("version", 2);
diFyImageReq.setInputs(inputMap); diFyImageReq.setInputs(inputMap);
CorpusReportDTO corpusReportDTO = new CorpusReportDTO();
corpusReportDTO.setCorpusTime(DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); corpusReportDTO.setCorpusTime(DateUtil.format(finalMaxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
corpusReportDTO.setUnionId(unionId); corpusReportDTO.setUnionId(unionId);
corpusReportDTO.setUserId(userId); corpusReportDTO.setUserId(userId);
corpusReportDTO.setAnalysisScene(1l); corpusReportDTO.setAnalysisScene(1l);
}
}
// 使用多线程并行执行两个业务场景 // 使用多线程并行执行两个业务场景
log.info("第1个业务场景 优先执行。 "); log.info("第1个业务场景 优先执行。 ");
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
OdsVdqwMessageOTD finalMaxMsgTimeItem1 = finalMaxMsgTimeItem;
CompletableFuture<Void> summaryTask = CompletableFuture.runAsync(() -> { CompletableFuture<Void> summaryTask = CompletableFuture.runAsync(() -> {
executeSummaryTask(diFyImageReq, corpusReportDTO, item, maxMsgTimeItem); executeSummaryTask(diFyImageReq, corpusReportDTO, item, finalMaxMsgTimeItem1);
}, executor); }, executor);
long startTime2 = System.currentTimeMillis(); long startTime2 = System.currentTimeMillis();
OdsVdqwMessageOTD finalMaxMsgTimeItem2 = finalMaxMsgTimeItem;
String finalUnionId = unionId;
CompletableFuture<Void> portraitTask = CompletableFuture.runAsync(() -> { CompletableFuture<Void> portraitTask = CompletableFuture.runAsync(() -> {
executePortraitTask(unionId, maxMsgTimeItem, chatList, corpusReportDTO); executePortraitTask(finalUnionId, finalMaxMsgTimeItem2, chatList, corpusReportDTO);
}, executor); }, executor);
// 等待两个任务完成 // 等待两个任务完成
@@ -253,7 +262,7 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
long endTime2 = System.currentTimeMillis(); long endTime2 = System.currentTimeMillis();
log.info("第二个业务场景(用户画像)执行时间: {} ms", (endTime2 - startTime2)); log.info("第二个业务场景(用户画像)执行时间: {} ms", (endTime2 - startTime2));
}
} }
public TmOdsVdqwExternalcontact getUnionId(List<String> userIds){ public TmOdsVdqwExternalcontact getUnionId(List<String> userIds){