sonar
This commit is contained in:
@@ -75,11 +75,8 @@ public class AnalysisDifyMqConsumer implements RocketMQListener<MessageExt> {
|
|||||||
CompletableFuture<JSONObject> future = diFyService.asyncExecuteDifyFlow(difyReq);
|
CompletableFuture<JSONObject> future = diFyService.asyncExecuteDifyFlow(difyReq);
|
||||||
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(difyReq.getInputs()), JSONObject.class);
|
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(difyReq.getInputs()), JSONObject.class);
|
||||||
String aiAnalysisRequestId = difyRequest.getString("aiAnalysisRequestId");
|
String aiAnalysisRequestId = difyRequest.getString("aiAnalysisRequestId");
|
||||||
// JSONObject json = future.get();
|
// JSONObject json = future.get();
|
||||||
future.thenAccept(result -> {
|
future.thenAccept(result -> log.info("异步处理asyncExecuteDifyFlow完成aiAnalysisRequestId: {},处理结果:{}", aiAnalysisRequestId, result)).exceptionally(ex -> {
|
||||||
// 处理异步结果
|
|
||||||
log.info("异步处理asyncExecuteDifyFlow完成aiAnalysisRequestId: {},处理结果:{}", aiAnalysisRequestId, result);
|
|
||||||
}).exceptionally(ex -> {
|
|
||||||
log.error("异步处理asyncExecuteDifyFlow 失败aiAnalysisRequestId: {} ,{}", aiAnalysisRequestId,ex.getMessage());
|
log.error("异步处理asyncExecuteDifyFlow 失败aiAnalysisRequestId: {} ,{}", aiAnalysisRequestId,ex.getMessage());
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ package com.volvo.ai.analytic.center.service.impl;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO;
|
|
||||||
import com.volvo.ai.analytic.center.dto.corpus.CorpusReportDTO;
|
|
||||||
import com.volvo.ai.analytic.center.dto.req.AnalysisQueryReq;
|
import com.volvo.ai.analytic.center.dto.req.AnalysisQueryReq;
|
||||||
import com.volvo.ai.analytic.center.dto.req.AnalysisReq;
|
import com.volvo.ai.analytic.center.dto.req.AnalysisReq;
|
||||||
import com.volvo.ai.analytic.center.dto.req.DiFyReq;
|
import com.volvo.ai.analytic.center.dto.req.DiFyReq;
|
||||||
@@ -19,10 +17,8 @@ import com.volvo.ai.analytic.center.service.AiAnalysisRequestLogsService;
|
|||||||
import com.volvo.ai.analytic.center.service.TmTelephoneCorpusService;
|
import com.volvo.ai.analytic.center.service.TmTelephoneCorpusService;
|
||||||
import com.volvo.ai.analytic.center.utils.AiAnalysisUtils;
|
import com.volvo.ai.analytic.center.utils.AiAnalysisUtils;
|
||||||
import com.volvo.ai.analytic.center.utils.ConstantStr;
|
import com.volvo.ai.analytic.center.utils.ConstantStr;
|
||||||
import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil;
|
|
||||||
import com.volvo.ai.analytic.center.utils.RedisCounterRateLimiter;
|
import com.volvo.ai.analytic.center.utils.RedisCounterRateLimiter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.rocketmq.client.producer.SendCallback;
|
import org.apache.rocketmq.client.producer.SendCallback;
|
||||||
import org.apache.rocketmq.client.producer.SendResult;
|
import org.apache.rocketmq.client.producer.SendResult;
|
||||||
@@ -33,9 +29,9 @@ import org.springframework.messaging.support.MessageBuilder;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.ZonedDateTime;
|
import java.util.List;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.util.Map;
|
||||||
import java.util.*;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -162,59 +158,6 @@ public class AiAnalysisDifyServiceImpl implements AiAnalysisDifyService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, String> sendDccCorpus(AiAnalysisRequestLogs oldAiAnalysisRequestLogs,String difyResponse ){
|
|
||||||
CorpusReportDTO corpusReportDTO = JSONObject.parseObject(oldAiAnalysisRequestLogs.getBusinessRequest(), CorpusReportDTO.class);
|
|
||||||
String text = JSONObject.parseObject(difyResponse).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 null;
|
|
||||||
}
|
|
||||||
List<AicorpusTelephoneDTO> dccDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(corpusReportDTO.getRecordId()));
|
|
||||||
if(CollectionUtils.isNotEmpty(dccDtoList)){
|
|
||||||
AicorpusTelephoneDTO dccDto = dccDtoList.get(0);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject( dccDto.getDisplay());
|
|
||||||
ZonedDateTime zonedDateTime = ZonedDateTime.parse(jsonObject.getString("start_time"));
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
||||||
String formattedDateStartTime = zonedDateTime.format(formatter);
|
|
||||||
Map<String, String> ltoMap = new HashMap();
|
|
||||||
ltoMap.put("analysisRecordId", oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
|
||||||
ltoMap.put("analysisScene", "2");
|
|
||||||
ltoMap.put("recordId", corpusReportDTO.getRecordId());
|
|
||||||
ltoMap.put("communicateDate", formattedDateStartTime);
|
|
||||||
ltoMap.put("analysisResult", resultStrOne);
|
|
||||||
ltoMap.put("analysisDetail", resultStrTwo);
|
|
||||||
// 发送MQ
|
|
||||||
|
|
||||||
log.info("send mq {}",ltoMap);
|
|
||||||
return ltoMap;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> sendQiweiCorpus(AiAnalysisRequestLogs aiAnalysisRequestLogs,String difyResponse) {
|
|
||||||
CorpusReportDTO corpusReportDTO = JSONObject.parseObject(aiAnalysisRequestLogs.getBusinessRequest(), CorpusReportDTO.class);
|
|
||||||
JSONObject execDifyFlow = JSONObject.parseObject(difyResponse);
|
|
||||||
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 null;
|
|
||||||
}
|
|
||||||
Map<String, String> ltoMap = new HashMap<>();
|
|
||||||
ltoMap.put("analysisRecordId", execDifyFlow.getString("aiAnalysisRequestId"));
|
|
||||||
ltoMap.put("analysisScene", "1");
|
|
||||||
ltoMap.put("unionId", corpusReportDTO.getUnionId());
|
|
||||||
ltoMap.put("consultantId", corpusReportDTO.getUserId());
|
|
||||||
ltoMap.put("communicateDate", corpusReportDTO.getCorpusTime());
|
|
||||||
ltoMap.put("analysisResult", resultStrOne);
|
|
||||||
ltoMap.put("analysisDetail", resultStrTwo);
|
|
||||||
// 发送MQ
|
|
||||||
log.info("send mq {}", ltoMap);
|
|
||||||
return ltoMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Map<String, TcBusinessType> queryTcBusinessType() {
|
public Map<String, TcBusinessType> queryTcBusinessType() {
|
||||||
@@ -228,13 +171,7 @@ public class AiAnalysisDifyServiceImpl implements AiAnalysisDifyService {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TcBusinessType queryTcBusinessType(String businessRequestType) {
|
|
||||||
LambdaQueryWrapper<TcBusinessType> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.eq(TcBusinessType::getBusinessRequestType, businessRequestType);
|
|
||||||
queryWrapper.eq(TcBusinessType::getIsDeleted, "0");
|
|
||||||
TcBusinessType tcBusinessType =tcBusinessTypeMapper.selectOne(queryWrapper);
|
|
||||||
return tcBusinessType;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void sendMq(String topic, Object message){
|
private void sendMq(String topic, Object message){
|
||||||
rocketMqTemplate.asyncSend(topic, MessageBuilder.withPayload(message).build(),
|
rocketMqTemplate.asyncSend(topic, MessageBuilder.withPayload(message).build(),
|
||||||
|
|||||||
Reference in New Issue
Block a user