From 77614bc1e0d779f7934c32b49efb1f11f0827f49 Mon Sep 17 00:00:00 2001 From: lxu75 Date: Tue, 18 Mar 2025 15:30:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=88=86=E6=83=85=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E4=B8=8A=E7=BA=BF=E5=88=86=E6=94=AF=E7=A7=BB=E9=99=A4=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/TmTelephoneCorpusServiceImpl.java | 154 ------------------ 1 file changed, 154 deletions(-) delete mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java 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 deleted file mode 100644 index 3bba793..0000000 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.volvo.ai.analytic.center.service.impl; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO; -import com.volvo.ai.analytic.center.dto.req.CarModelReqDTO; -import com.volvo.ai.analytic.center.dto.req.DiFyReq; -import com.volvo.ai.analytic.center.dto.resp.CarModelRespDTO; -import com.volvo.ai.analytic.center.dto.resp.ResultDTO; -import com.volvo.ai.analytic.center.entity.TmTelephoneCorpus; -import com.volvo.ai.analytic.center.enums.BizEnum; -import com.volvo.ai.analytic.center.enums.BusinessTypeEnum; -import com.volvo.ai.analytic.center.feign.RemoteCarModelClient; -import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper; -import com.volvo.ai.analytic.center.service.DiFyService; -import com.volvo.ai.analytic.center.service.TmTelephoneCorpusService; -import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; -import org.apache.rocketmq.client.producer.SendCallback; -import org.apache.rocketmq.client.producer.SendResult; -import org.apache.rocketmq.spring.core.RocketMQTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.messaging.support.MessageBuilder; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.*; -import java.util.stream.Collectors; - - -/** - * @description 电话语料表-同步表 - * @author rz - * @date 2025-03-04 - */ -@Slf4j -@Service -public class TmTelephoneCorpusServiceImpl extends ServiceImpl implements TmTelephoneCorpusService { - - - @Autowired - private DiFyService diFyService; - - @Resource - private RocketMQTemplate rocketMqTemplate; - - @Value("${rocketmq.corpusTelephone.topic}") - private String topic; - - @Autowired - private RemoteCarModelClient remoteCarModelClient; - - @Override - @Transactional - public void saveTelephoneCorpus(TmTelephoneCorpus tmTelephoneCorpus) { - this.save(tmTelephoneCorpus); - } - - @Override - public void runDify(AicorpusTelephoneDTO aicorpusTelephone) { - - if(null != aicorpusTelephone){ - - Map inputMap = new HashMap(); - DiFyReq diFyImageReq = new DiFyReq(); - diFyImageReq.setUser("11111"); - diFyImageReq.setFlowId("app-peJXSjHjVKdkYxjdOUuPnZ5b"); - - - JSONObject jsonObject = JSONObject.parseObject( aicorpusTelephone.getDisplay()); - JSONArray segments = jsonObject.getJSONArray("segments"); - // 遍历 segments - segments.stream() - .map(segment -> (JSONObject) segment) - .forEach(segment -> { - JSONObject result = segment.getJSONObject("result"); - String text = result.getString("text"); - JSONObject analysisInfo = result.getJSONObject("analysis_info"); - String role = analysisInfo.getString("role"); - - // 拼接 role 和 text - String chat = role + ": " + text; - inputMap.put("chat",chat); - }); - - - inputMap.put("model",getCarModelList()); - diFyImageReq.setInputs(inputMap); - // 获取配置 - JSONObject execDifyFlow = diFyService.execDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT.getCode()); - log.info("runDify execDifyFlow {}",execDifyFlow); - 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); - Map ltoMap = new HashMap(); - ltoMap.put("analysisRecordId", aicorpusTelephone.getSourceId()); - ltoMap.put("analysisScene", "2"); -// ltoMap.put("unionId", aicorpusTelephone.getSourceId()); - ltoMap.put("recordId", aicorpusTelephone.getSourceId()); - ltoMap.put("communicateDate", jsonObject.getString("start_time")); - ltoMap.put("analysisResult", resultStrOne); - ltoMap.put("analysisDetail", resultStrTwo); - // 发送MQ - - log.info("send mq {}",ltoMap); - rocketMqTemplate.asyncSend(topic, MessageBuilder.withPayload(JSON.toJSONString(ltoMap)).build(), - new SendCallback() { - @Override - public void onSuccess(SendResult sendResult) { - log.info("发送导入标签值成功 消息体:{}", JSON.toJSONString(ltoMap)); - } - @Override - public void onException(Throwable e) { - log.error("发送导入标签值异常 消息体:{}, 异常:", JSON.toJSONString(ltoMap), e); - } - }, 10000); - - } - } - } - - private String getCarModelList(){ - try { - long startTime = System.currentTimeMillis(); - CarModelReqDTO carModelReqDTO = new CarModelReqDTO(); - carModelReqDTO.setOnSale(10041001); - carModelReqDTO.setIsValid(10041001); - ResultDTO> cardModelResult= remoteCarModelClient.queryCarModelList(carModelReqDTO); - log.info("queryCarModelList 导出查询耗时开始时间:{}",System.currentTimeMillis()-startTime); - if (BizEnum.SUCCESS.getCode().toString().equals(cardModelResult.getReturnCode()) && CollectionUtils.isNotEmpty(cardModelResult.getData())) { - List carModelRespDTOList = cardModelResult.getData(); - // 拼接 modelName - String modelNames = carModelRespDTOList.stream() - .map(CarModelRespDTO::getModelName) // 提取 modelName - .collect(Collectors.joining(", ")); // 用逗号和空格拼接 - - log.info("拼接后的车型名称: {}", modelNames); - return modelNames; - } - } catch (Exception e) { - log.error("getCarModelList Exception: {}", e); - } - return "C40 RECHARGE、EM90、EX30、S60、S90、V60、V90、XC40、XC40 RECHARGE、XC60、XC90"; - } - - -} \ No newline at end of file