From d75eb448b4181495ef2865501b637684f88cfc4d Mon Sep 17 00:00:00 2001 From: zren25 Date: Tue, 11 Mar 2025 17:05:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E8=B5=9E=E7=82=B9=E8=B8=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/entity/AiAnalysisRequestLogs.java | 7 +- .../center/entity/DataMaskingRule.java | 8 +- .../center/entity/TmCorpusReport.java | 131 ++++++++++++++++++ .../center/mapper/TmCorpusReportMapper.java | 18 +++ .../center/mq/CorpushIsLikeConsumer.java | 26 +++- .../center/service/TmCorpusReportService.java | 9 ++ .../center/service/impl/DiFyServiceImpl.java | 5 +- .../impl/TmCorpusReportServiceImpl.java | 30 ++++ .../TmOdsVdqwMessagearchivingServiceImpl.java | 129 +++++++++-------- .../impl/TmTelephoneCorpusServiceImpl.java | 37 ++++- .../TmOdsVdqwMessagearchivingMapper.xml | 10 +- 11 files changed, 338 insertions(+), 72 deletions(-) create mode 100644 ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusReport.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusReportMapper.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/TmCorpusReportService.java create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmCorpusReportServiceImpl.java diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalysisRequestLogs.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalysisRequestLogs.java index 9db74bc..aefdc4a 100644 --- a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalysisRequestLogs.java +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/AiAnalysisRequestLogs.java @@ -5,11 +5,13 @@ import com.volvo.common.core.base.BaseEntity; import lombok.Builder; import lombok.Data; +import java.util.Date; + @Data @TableName("tt_ai_analysis_request_logs") @Builder -public class AiAnalysisRequestLogs extends BaseEntity { +public class AiAnalysisRequestLogs { @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -46,4 +48,7 @@ public class AiAnalysisRequestLogs extends BaseEntity { @Version private Integer versions; + @TableField("create_time") + private Date createTime; + } diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/DataMaskingRule.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/DataMaskingRule.java index fbad8b9..c7f673f 100644 --- a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/DataMaskingRule.java +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/DataMaskingRule.java @@ -1,9 +1,7 @@ package com.volvo.ai.analytic.center.entity; import com.baomidou.mybatisplus.annotation.*; -import com.volvo.common.core.base.BaseEntity; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.Date; @@ -13,9 +11,8 @@ import java.util.Date; */ @Data @Accessors -@EqualsAndHashCode(callSuper = true) @TableName("tt_ai_drives_datamaskingrule") -public class DataMaskingRule extends BaseEntity { +public class DataMaskingRule { /** * 主键 @@ -59,6 +56,9 @@ public class DataMaskingRule extends BaseEntity { @TableField("versions") private Integer versions; + @TableField("create_time") + private Date createTime; + /** * 脱敏规则名称 */ diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusReport.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusReport.java new file mode 100644 index 0000000..9397699 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/entity/TmCorpusReport.java @@ -0,0 +1,131 @@ +package com.volvo.ai.analytic.center.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @description 语料解析报告 + * @author BEJSON + * @date 2025-03-11 + */ +@Data +@TableName("tm_corpus_report") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TmCorpusReport { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value="id", type = IdType.AUTO) + private Long id; + + /** + * 语料Id + */ + @TableField("ai_analysis_request_id") + private String aiAnalysisRequestId; + + /** + * 语料类型【1:企业微信,2:电话】 + */ + @TableField("corpus_type") + private Long corpusType; + + /** + * corpus_time + */ + @TableField("corpus_time") + private Date corpusTime; + + /** + * union_id + */ + @TableField("union_id") + private String unionId; + + /** + * user_id + */ + @TableField("user_id") + private String userId; + + /** + * 报告标题 + */ + @TableField("report_title") + private String reportTitle; + + /** + * 报告详情 + */ + @TableField("report_info") + private String reportInfo; + + /** + * 点踩点赞(1:点赞,2-点踩) + */ + @TableField("is_like") + private Integer isLike; + + /** + * 删除标识(0-未删除,1-已删除) + */ + @TableField("is_deleted") + private Integer isDeleted; + + /** + * 记录版本号,即乐观锁 + */ + @TableField("version") + private Integer version; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 更新人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 创建sql人 + */ + @TableField("create_sqlby") + private String createSqlby; + + /** + * 更新sql人 + */ + @TableField("update_sqlby") + private String updateSqlby; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} \ No newline at end of file diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusReportMapper.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusReportMapper.java new file mode 100644 index 0000000..20aeb57 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mapper/TmCorpusReportMapper.java @@ -0,0 +1,18 @@ +package com.volvo.ai.analytic.center.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.volvo.ai.analytic.center.entity.TmCorpusReport; +import com.volvo.ai.analytic.center.entity.TmTelephoneCorpus; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +/** + * @description 电话语料表-同步表 + * @author BEJSON + * @date 2025-03-04 + */ +@Mapper +public interface TmCorpusReportMapper extends BaseMapper { + + +} \ No newline at end of file diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpushIsLikeConsumer.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpushIsLikeConsumer.java index 17df53a..f706402 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpushIsLikeConsumer.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpushIsLikeConsumer.java @@ -1,10 +1,17 @@ package com.volvo.ai.analytic.center.mq; +import com.alibaba.fastjson.JSONObject; +import com.volvo.ai.analytic.center.entity.TmCorpusReport; +import com.volvo.ai.analytic.center.service.TmCorpusReportService; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.Date; @Slf4j @Component @@ -13,9 +20,26 @@ import org.springframework.stereotype.Component; enableMsgTrace = true) public class CorpushIsLikeConsumer implements RocketMQListener{ - + @Autowired + private TmCorpusReportService tmCorpusReportService; @Override + @PostMapping public void onMessage(MessageExt messageExt) { log.info("CorpushIsLikeConsumer message: " + messageExt); + String message = new String(messageExt.getBody()); + try { + // 保存报告 + JSONObject execDifyFlow = JSONObject.parseObject(message); + Integer like = execDifyFlow.getInteger("isLike"); + tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder() + .aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")) + .isLike(like) + .updateBy("LTO") + .updateTime(new Date()) + .build()); + } catch (Exception e) { + log.info(" 电话语料处理保存报告异常processItem:{} ", e); + } + } } diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/TmCorpusReportService.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/TmCorpusReportService.java new file mode 100644 index 0000000..9051e82 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/TmCorpusReportService.java @@ -0,0 +1,9 @@ +package com.volvo.ai.analytic.center.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.volvo.ai.analytic.center.entity.TmCorpusReport; + +public interface TmCorpusReportService extends IService { + + boolean saveTmCorpusReport(TmCorpusReport tmCorpusReport); +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyServiceImpl.java index 9421ed8..25f4fce 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyServiceImpl.java @@ -62,13 +62,14 @@ public class DiFyServiceImpl implements DiFyService{ .businessRequest(JSONObject.toJSONString("")) .difyAgentKey(diFyReq.getFlowId()) .difyRequest(JSON.toJSONString(diFyReq)) + .difyResponse(JSON.toJSONString("")) .aiAnalysisRequestType(businessType) .build()); - + log.info("execDifyFlow dify request data:{}",map); JSONObject difyResult = diFyFeign.runWorkflows("Bearer "+diFyReq.getFlowId(),map); JSONObject data = difyResult.getJSONObject("data"); - log.info("execDifyFlow dify response data:{}",data); + log.info("execDifyFlow dify response aiID:{} , data:{}",aiAnalysisRequestId,data); data.put("aiAnalysisRequestId",aiAnalysisRequestId); aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder() diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmCorpusReportServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmCorpusReportServiceImpl.java new file mode 100644 index 0000000..f4197e2 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmCorpusReportServiceImpl.java @@ -0,0 +1,30 @@ +package com.volvo.ai.analytic.center.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.volvo.ai.analytic.center.entity.TmCorpusReport; +import com.volvo.ai.analytic.center.mapper.TmCorpusReportMapper; +import com.volvo.ai.analytic.center.service.TmCorpusReportService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class TmCorpusReportServiceImpl extends ServiceImpl implements TmCorpusReportService { + + @Autowired + private TmCorpusReportMapper tmCorpusReportMapper; + @Override + public boolean saveTmCorpusReport(TmCorpusReport tmCorpusReport) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TmCorpusReport::getAiAnalysisRequestId, tmCorpusReport.getAiAnalysisRequestId()); + TmCorpusReport oldTmCorpusReport= tmCorpusReportMapper.selectOne(queryWrapper); + if (oldTmCorpusReport == null) { + return tmCorpusReportMapper.insert(tmCorpusReport) > 0; + } else { + return tmCorpusReportMapper.update(tmCorpusReport, queryWrapper) > 0; + } + } +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmOdsVdqwMessagearchivingServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmOdsVdqwMessagearchivingServiceImpl.java index 38d1a07..1cfe4cc 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmOdsVdqwMessagearchivingServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmOdsVdqwMessagearchivingServiceImpl.java @@ -17,10 +17,7 @@ import com.volvo.ai.analytic.center.feign.RemoteCarModelClient; import com.volvo.ai.analytic.center.mapper.TmOdsVdqwExternalcontactMapper; import com.volvo.ai.analytic.center.mapper.TmOdsVdqwMessagearchivingMapper; import com.volvo.ai.analytic.center.mapper.TmOdsVdqwWorkuserinfoMapper; -import com.volvo.ai.analytic.center.service.DataMaskingRuleService; -import com.volvo.ai.analytic.center.service.DiFyService; -import com.volvo.ai.analytic.center.service.TmOdsVdqwMessagearchivingService; -import com.volvo.ai.analytic.center.service.TmTelephoneCorpusService; +import com.volvo.ai.analytic.center.service.*; import com.volvo.ai.analytic.center.utils.ConstantStr; import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil; import lombok.extern.slf4j.Slf4j; @@ -37,10 +34,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDate; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -86,6 +80,9 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl contetnList = tmOdsVdqwMessagearchivingMapper.queryOdsVdqwMessageByFromUserIdAndAcceptUserId(statTime, endTime, Arrays.asList(item.getFromUserId(), item.getAcceptUserId())); + List 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 inputMap = new HashMap<>(); + DiFyReq diFyImageReq = new DiFyReq(); + diFyImageReq.setUser(ConstantStr.corpus_user); + diFyImageReq.setFlowId(qiweiToken); + List maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(Constant.CHANNEL_DCC); + RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput(); + runMaskingRuleInput.setDataMaskingRules(maskingRuleItems); + StringBuffer chatList = new StringBuffer(); contetnList.forEach(contentItem -> { - Map inputMap = new HashMap<>(); - DiFyReq diFyImageReq = new DiFyReq(); - diFyImageReq.setUser(ConstantStr.corpus_user); - diFyImageReq.setFlowId(qiweiToken); JSONObject contentJson = JSONObject.parseObject(contentItem.getContent()); String content = contentJson.getString("content"); - List maskingRuleItems = dataMaskingRuleService.getDataMaskingRuleListByApplicationChannel(Constant.CHANNEL_DCC); - - RunMaskingRuleInput runMaskingRuleInput = new RunMaskingRuleInput(); - runMaskingRuleInput.setDataMaskingRules(maskingRuleItems); // 拼接 role 和 text String chat = contentItem.getFromUserId().concat(":").concat(content); runMaskingRuleInput.setOldStr(chat); String corpusChat = dataMaskingRuleService.runMaskingRule(runMaskingRuleInput); - - inputMap.put("chat", corpusChat); - - inputMap.put("model", tmTelephoneCorpusService.getCarModelList()); - diFyImageReq.setInputs(inputMap); - - // 获取配置 - JSONObject execDifyFlow = diFyService.executeDifyFlow(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", execDifyFlow.getString("aiAnalysisRequestId")); - ltoMap.put("analysisScene", "1"); - ltoMap.put("unionId", unionId); - ltoMap.put("consultantId", userId); - ltoMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); - 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("企微语料发送MQ成功 消息体:{}", JSON.toJSONString(ltoMap)); - } - - @Override - public void onException(Throwable e) { - log.error("企微语料发送MQ异常 消息体:{}, 异常:", JSON.toJSONString(ltoMap), e); - } - }, 10000); - } + chatList.append(corpusChat).append("\n"); }); + + inputMap.put("chat", chatList.toString()); +// inputMap.put("model", tmTelephoneCorpusService.getCarModelList()); + diFyImageReq.setInputs(inputMap); + // 获取配置 + JSONObject execDifyFlow = diFyService.executeDifyFlow(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", execDifyFlow.getString("aiAnalysisRequestId")); + ltoMap.put("analysisScene", "1"); + ltoMap.put("unionId", unionId); + ltoMap.put("consultantId", userId); + ltoMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); + ltoMap.put("analysisResult", resultStrOne.replace("#","")); + 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("企微语料发送MQ成功 消息体:{}", JSON.toJSONString(ltoMap)); + } + + @Override + public void onException(Throwable e) { + log.error("企微语料发送MQ异常 消息体:{}, 异常:", JSON.toJSONString(ltoMap), e); + } + }, 10000); + + try { + // 保存报告 + tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder() + .aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")) + .corpusType(1l) + .corpusTime(maxMsgTimeItem.getMsgTime()) + .userId(userId) + .unionId(unionId) + .reportTitle(resultStrOne) + .reportInfo(resultStrTwo) + .isLike(0) + .isDeleted(0) + .version(0) + .createBy("system") + .updateBy("") + .createSqlby("") + .updateSqlby("") + .createTime(new Date()) + .build()); + } catch (Exception e) { + log.info(" 企业语料处理保存报告异常processItem:{} ", e); + } + } } } 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 index 252a898..2bfed1d 100644 --- 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 @@ -1,5 +1,7 @@ package com.volvo.ai.analytic.center.service.impl; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -12,6 +14,7 @@ import com.volvo.ai.analytic.center.dto.req.RunMaskingRuleInput; 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.DataMaskingRule; +import com.volvo.ai.analytic.center.entity.TmCorpusReport; import com.volvo.ai.analytic.center.entity.TmTelephoneCorpus; import com.volvo.ai.analytic.center.enums.BizEnum; import com.volvo.ai.analytic.center.enums.BusinessTypeEnum; @@ -19,6 +22,7 @@ import com.volvo.ai.analytic.center.feign.RemoteCarModelClient; import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper; import com.volvo.ai.analytic.center.service.DataMaskingRuleService; import com.volvo.ai.analytic.center.service.DiFyService; +import com.volvo.ai.analytic.center.service.TmCorpusReportService; import com.volvo.ai.analytic.center.service.TmTelephoneCorpusService; import com.volvo.ai.analytic.center.utils.ConstantStr; import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil; @@ -65,6 +69,8 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl (JSONObject) segment) .forEach(segment -> { @@ -103,10 +110,11 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl SELECT - tovm.from_user_id as fromUserUnId, + tovm.from_user_id as fromUserId, tovm.accept_user_id as acceptUserId, tovm.msg_time as msgTime, tovm.chat_type as chatType @@ -50,12 +50,12 @@ WHERE tovm.msg_time between #{statTime} and #{endTime} AND tovm.from_user_id IN - - #{userIdList} + + #{userId} AND tovm.accept_user_id IN - - #{userIdList} + + #{userId} AND tovm.chat_type = 0 and tovm.msg_type='text'