修改sonar扫出的问题
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.volvo.ai.analytic.center.job;
|
package com.volvo.ai.analytic.center.job;
|
||||||
|
|
||||||
import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO;
|
import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO;
|
||||||
|
import com.volvo.ai.analytic.center.exception.JobTaskException;
|
||||||
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
|
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
|
||||||
import com.volvo.ai.analytic.center.service.CorpusPortraitService;
|
import com.volvo.ai.analytic.center.service.CorpusPortraitService;
|
||||||
import com.volvo.ai.analytic.center.service.TmOdsVdqwMessagearchivingService;
|
import com.volvo.ai.analytic.center.service.TmOdsVdqwMessagearchivingService;
|
||||||
@@ -61,7 +62,7 @@ public class QiWeiCorpusJob {
|
|||||||
tmOdsVdqwMessagearchivingService.runQiWeiCorpusDify(param);
|
tmOdsVdqwMessagearchivingService.runQiWeiCorpusDify(param);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
||||||
throw new RuntimeException(e);
|
throw new JobTaskException(PROCESS_MESSAGE_TASK_ERROR, e);
|
||||||
}
|
}
|
||||||
return ResultMsg.ok();
|
return ResultMsg.ok();
|
||||||
}
|
}
|
||||||
@@ -81,15 +82,13 @@ public class QiWeiCorpusJob {
|
|||||||
// 执行业务逻辑
|
// 执行业务逻辑
|
||||||
XxlJobHelper.log("dccCorpusFailRetry任务参数: {}", param);
|
XxlJobHelper.log("dccCorpusFailRetry任务参数: {}", param);
|
||||||
List<AicorpusTelephoneDTO> corpusDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(param.split(",")));
|
List<AicorpusTelephoneDTO> corpusDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(param.split(",")));
|
||||||
corpusDtoList.stream().forEach(item->
|
corpusDtoList.stream().forEach(item-> {
|
||||||
{
|
|
||||||
tmTelephoneCorpusService.runTelephoneCorpusDify(item);
|
tmTelephoneCorpusService.runTelephoneCorpusDify(item);
|
||||||
corpusPortraitService.portraitDcc(item);
|
corpusPortraitService.portraitDcc(item);
|
||||||
}
|
});
|
||||||
);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
||||||
throw new RuntimeException(e);
|
throw new JobTaskException(PROCESS_MESSAGE_TASK_ERROR, e);
|
||||||
}
|
}
|
||||||
return ResultMsg.ok();
|
return ResultMsg.ok();
|
||||||
}
|
}
|
||||||
@@ -107,14 +106,12 @@ public class QiWeiCorpusJob {
|
|||||||
// 执行业务逻辑
|
// 执行业务逻辑
|
||||||
XxlJobHelper.log("dccCorpusFailRetry任务参数: {}", param);
|
XxlJobHelper.log("dccCorpusFailRetry任务参数: {}", param);
|
||||||
List<AicorpusTelephoneDTO> corpusDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(param.split(",")));
|
List<AicorpusTelephoneDTO> corpusDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(param.split(",")));
|
||||||
corpusDtoList.stream().forEach(item->
|
corpusDtoList.stream().forEach(item-> {
|
||||||
{
|
|
||||||
corpusPortraitService.portraitDcc(item);
|
corpusPortraitService.portraitDcc(item);
|
||||||
}
|
});
|
||||||
);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
log.error(PROCESS_MESSAGE_TASK_ERROR,e.getMessage());
|
||||||
throw new RuntimeException(e);
|
throw new JobTaskException(PROCESS_MESSAGE_TASK_ERROR, e);
|
||||||
}
|
}
|
||||||
return ResultMsg.ok();
|
return ResultMsg.ok();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
package com.volvo.ai.analytic.center.mq;
|
package com.volvo.ai.analytic.center.mq;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.volvo.ai.analytic.center.constant.Constant;
|
import com.volvo.ai.analytic.center.constant.Constant;
|
||||||
@@ -55,7 +54,6 @@ public class CorpusDccMqConsumer implements RocketMQListener<MessageExt> {
|
|||||||
if(Objects.equals(aicorpusTelephone.getCategoryCode(), Constant.CHANNEL_DCC)){
|
if(Objects.equals(aicorpusTelephone.getCategoryCode(), Constant.CHANNEL_DCC)){
|
||||||
//TODO 这里需要确认客户画像下这个字段值是什么? 已经确认了,和总结需求的dcc场景是一致的 , 所以不需要修改。。
|
//TODO 这里需要确认客户画像下这个字段值是什么? 已经确认了,和总结需求的dcc场景是一致的 , 所以不需要修改。。
|
||||||
//总结和客户画像都是这一个:Constant.CHANNEL_DCC
|
//总结和客户画像都是这一个:Constant.CHANNEL_DCC
|
||||||
JSONObject jsonObject = JSONObject.parseObject( aicorpusTelephone.getDisplay());
|
|
||||||
log.info(" dcc_mq接收到消息 , 总结和分类业务场景: " + JSON.toJSONString(aicorpusTelephone));
|
log.info(" dcc_mq接收到消息 , 总结和分类业务场景: " + JSON.toJSONString(aicorpusTelephone));
|
||||||
tmTelephoneCorpusService.runTelephoneCorpusDify(aicorpusTelephone);
|
tmTelephoneCorpusService.runTelephoneCorpusDify(aicorpusTelephone);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,26 +55,6 @@ public class CorpusProcessKafkaProducer {
|
|||||||
@Resource
|
@Resource
|
||||||
private RocketMQTemplate rocketMqTemplate;
|
private RocketMQTemplate rocketMqTemplate;
|
||||||
|
|
||||||
// @KafkaListener(
|
|
||||||
// topicPartitions = @TopicPartition(
|
|
||||||
// topic = "${spring.kafka.topic}",
|
|
||||||
// partitionOffsets = {
|
|
||||||
// @PartitionOffset(partition = "0", initialOffset = "2792520"),
|
|
||||||
// @PartitionOffset(partition = "1", initialOffset = "2596153"),
|
|
||||||
// @PartitionOffset(partition = "2", initialOffset = "2536889"),
|
|
||||||
// @PartitionOffset(partition = "3", initialOffset = "2782173"),
|
|
||||||
// @PartitionOffset(partition = "4", initialOffset = "2616677"),
|
|
||||||
// @PartitionOffset(partition = "5", initialOffset = "2529585"),
|
|
||||||
// @PartitionOffset(partition = "6", initialOffset = "2761950"),
|
|
||||||
// @PartitionOffset(partition = "7", initialOffset = "2581957"),
|
|
||||||
// @PartitionOffset(partition = "8", initialOffset = "2530225"),
|
|
||||||
// @PartitionOffset(partition = "9", initialOffset = "2803179"),
|
|
||||||
// @PartitionOffset(partition = "10", initialOffset = "2599129"),
|
|
||||||
// @PartitionOffset(partition = "11", initialOffset = "2546277")
|
|
||||||
// }
|
|
||||||
// ),
|
|
||||||
// groupId = "${spring.kafka.group}"
|
|
||||||
// )
|
|
||||||
//spring.kafka.topic=topic_voc_covert_text_log spring.kafka.group=topic_group_covert_text_log_voc_ai_ac_uat
|
//spring.kafka.topic=topic_voc_covert_text_log spring.kafka.group=topic_group_covert_text_log_voc_ai_ac_uat
|
||||||
@KafkaListener(topics = "${spring.kafka.topic}", groupId = "${spring.kafka.group}")
|
@KafkaListener(topics = "${spring.kafka.topic}", groupId = "${spring.kafka.group}")
|
||||||
public void listen(List<ConsumerRecord<String, Object>> recordMessages) {
|
public void listen(List<ConsumerRecord<String, Object>> recordMessages) {
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ import java.util.stream.Collectors;
|
|||||||
@Service
|
@Service
|
||||||
public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
||||||
|
|
||||||
|
private static final String BRAND_KEY = "brand";
|
||||||
|
private static final String AI_ANALYSIS_REQUEST_ID_KEY = "aiAnalysisRequestId";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
TmTelephoneCorpusService tmTelephoneCorpusService;
|
TmTelephoneCorpusService tmTelephoneCorpusService;
|
||||||
|
|
||||||
@@ -112,7 +115,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 遍历 segments
|
// 遍历 segments
|
||||||
StringBuffer chatList = new StringBuffer();
|
StringBuilder chatList = new StringBuilder();
|
||||||
segments.stream()
|
segments.stream()
|
||||||
.map(segment -> (JSONObject) segment)
|
.map(segment -> (JSONObject) segment)
|
||||||
.forEach(segment -> {
|
.forEach(segment -> {
|
||||||
@@ -142,7 +145,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
inputMap.put("chat", chatList);
|
inputMap.put("chat", chatList);
|
||||||
inputMap.put("recordId", aicorpusTelephone.getSourceId());
|
inputMap.put("recordId", aicorpusTelephone.getSourceId());
|
||||||
inputMap.put("communicateDate", formattedDateStartTime);
|
inputMap.put("communicateDate", formattedDateStartTime);
|
||||||
inputMap.put("brand",getBrand());
|
inputMap.put(BRAND_KEY,getBrand());
|
||||||
inputMap.put("brandSeries",getSeriesByBrandId());
|
inputMap.put("brandSeries",getSeriesByBrandId());
|
||||||
inputMap.put("customerFlowId", aicorpusTelephone.getSourceId());
|
inputMap.put("customerFlowId", aicorpusTelephone.getSourceId());
|
||||||
|
|
||||||
@@ -157,15 +160,15 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
// 获取配置
|
// 获取配置
|
||||||
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId());
|
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId());
|
||||||
log.info("runDify execDifyFlow {}", execDifyFlow);
|
log.info("runDify execDifyFlow {}", execDifyFlow);
|
||||||
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
|
String aiAnalysisRequestId = null;
|
||||||
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
||||||
|
aiAnalysisRequestId = execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY);
|
||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
// huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(), "DCC"), ltoChannelId);
|
|
||||||
// 发送MQ
|
// 发送MQ
|
||||||
log.info("send mq ,DCC语料,画像场景 {}", text);
|
log.info("send mq ,DCC语料,画像场景 {}", text);
|
||||||
tmTelephoneCorpusService.sendMq( BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), text.toJSONString());
|
tmTelephoneCorpusService.sendMq( BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), text.toJSONString());
|
||||||
|
|
||||||
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY)).businessResponse(text.toJSONString()).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -222,7 +225,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode());
|
List<DataMaskingRule> maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode());
|
||||||
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
|
RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput();
|
||||||
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
|
runMaskingRuleInput.setDataMaskingRules(maskingRuleItems);
|
||||||
StringBuffer chatList = new StringBuffer();
|
StringBuilder chatList = new StringBuilder();
|
||||||
AtomicInteger externalcontactCount = new AtomicInteger();
|
AtomicInteger externalcontactCount = new AtomicInteger();
|
||||||
contetnList.forEach(contentItem -> {
|
contetnList.forEach(contentItem -> {
|
||||||
String title = "";
|
String title = "";
|
||||||
@@ -249,7 +252,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
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_KEY,getBrand());
|
||||||
inputMap.put("brandSeries",getSeriesByBrandId());
|
inputMap.put("brandSeries",getSeriesByBrandId());
|
||||||
diFyImageReq.setInputs(inputMap);
|
diFyImageReq.setInputs(inputMap);
|
||||||
|
|
||||||
@@ -260,15 +263,14 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
// 获取配置
|
// 获取配置
|
||||||
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 企微语料,画像场景 Dify的返回 : {}", execDifyFlow);
|
log.info("runDify execDifyFlow 企微语料,画像场景 Dify的返回 : {}", execDifyFlow);
|
||||||
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
|
|
||||||
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
||||||
|
String aiAnalysisRequestId = execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY);
|
||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
// TODO 检查是否发了 unionid , 画像场景 "businessId": "业务ID", // 根据分析不同传不同的值 1、unionId 2、通话ID 3、客流ID 4、试驾ID
|
// TODO 检查是否发了 unionid , 画像场景 "businessId": "业务ID", // 根据分析不同传不同的值 1、unionId 2、通话ID 3、客流ID 4、试驾ID
|
||||||
// huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"QIWEI"),ltoChannelId);
|
|
||||||
log.info("send mq ,企微语料,画像场景 {}", text);
|
log.info("send mq ,企微语料,画像场景 {}", text);
|
||||||
tmTelephoneCorpusService.sendMq( CategoryEnum.ENTERPRISE_WECHAT_PORTRAIT.getCode(), text.toJSONString());
|
tmTelephoneCorpusService.sendMq( CategoryEnum.ENTERPRISE_WECHAT_PORTRAIT.getCode(), text.toJSONString());
|
||||||
|
|
||||||
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY)).businessResponse(text.toJSONString()).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -300,7 +302,7 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
String carModel = tmTelephoneCorpusService.getCarModelList();
|
String carModel = tmTelephoneCorpusService.getCarModelList();
|
||||||
inputMap.put("chat", corpusChat);
|
inputMap.put("chat", corpusChat);
|
||||||
inputMap.put("customerFlowId", item.getCustomerFlowId());
|
inputMap.put("customerFlowId", item.getCustomerFlowId());
|
||||||
inputMap.put("brand",getBrand());
|
inputMap.put(BRAND_KEY,getBrand());
|
||||||
inputMap.put("brandSeries",getSeriesByBrandId());
|
inputMap.put("brandSeries",getSeriesByBrandId());
|
||||||
diFyImageReq.setInputs(inputMap);
|
diFyImageReq.setInputs(inputMap);
|
||||||
|
|
||||||
@@ -310,15 +312,14 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService {
|
|||||||
// 获取配置
|
// 获取配置
|
||||||
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_NAMEPLATE.getCode(), JSONObject.toJSONString(corpusReportDTO),null);
|
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_NAMEPLATE.getCode(), JSONObject.toJSONString(corpusReportDTO),null);
|
||||||
log.info("runDify execDifyFlow {}", execDifyFlow);
|
log.info("runDify execDifyFlow {}", execDifyFlow);
|
||||||
String aiAnalysisRequestId = execDifyFlow.getString("aiAnalysisRequestId");
|
|
||||||
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
if (null != execDifyFlow && execDifyFlow.get("status").equals("succeeded")) {
|
||||||
|
String aiAnalysisRequestId = execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY);
|
||||||
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
JSONObject text = execDifyFlow.getJSONObject("outputs");
|
||||||
|
|
||||||
// huaWeiService.sendEvent(setCloudEvents(aiAnalysisRequestId, text.toJSONString(),"NAMEPLATE"),ltoChannelId);
|
|
||||||
log.info("send mq ,铭牌语料,画像场景 {}", text);
|
log.info("send mq ,铭牌语料,画像场景 {}", text);
|
||||||
tmTelephoneCorpusService.sendMq( BusinessTypeEnum.CORPUS_PORTRAIT_NAMEPLATE.getCode(), text.toJSONString());
|
tmTelephoneCorpusService.sendMq( BusinessTypeEnum.CORPUS_PORTRAIT_NAMEPLATE.getCode(), text.toJSONString());
|
||||||
|
|
||||||
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(text.toJSONString()).build());
|
aiAnalysisRequestLogsService.saveOrUpdateAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString(AI_ANALYSIS_REQUEST_ID_KEY)).businessResponse(text.toJSONString()).build());
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user