修改ai结果保存

This commit is contained in:
zren25
2025-03-20 15:24:05 +08:00
parent f0ba64a52f
commit 1b594be738
9 changed files with 74 additions and 114 deletions

View File

@@ -1,6 +1,5 @@
package com.volvo.ai.analytic.center.job;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -8,11 +7,13 @@ import com.volvo.ai.analytic.center.dto.corpus.CorpusReportDTO;
import com.volvo.ai.analytic.center.dto.req.DiFyReq;
import com.volvo.ai.analytic.center.entity.AiAnalysisErrors;
import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs;
import com.volvo.ai.analytic.center.entity.TmCorpusReport;
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
import com.volvo.ai.analytic.center.enums.CategoryEnum;
import com.volvo.ai.analytic.center.mapper.AiAnalysisRequestLogsMapper;
import com.volvo.ai.analytic.center.service.*;
import com.volvo.ai.analytic.center.service.AiAnalysisErrorsService;
import com.volvo.ai.analytic.center.service.AiAnalysisRequestLogsService;
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 com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
@@ -22,9 +23,10 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -32,6 +34,7 @@ import java.util.Map;
@Slf4j
@Component
@RestController
public class CorpusFailJob {
@Autowired
@@ -51,9 +54,6 @@ public class CorpusFailJob {
@Resource
private RocketMQTemplate rocketMqTemplate;
@Autowired
private TmCorpusReportService tmCorpusReportService;
@Autowired
private TmTelephoneCorpusService tmTelephoneCorpusService;
@@ -61,6 +61,7 @@ public class CorpusFailJob {
* 企微语料处理
*/
@XxlJob("corpusFailTask")
@PostMapping("corpusFailTask")
public void corpusFailTask() {
log.info("语料解析失败重试处理");
@@ -109,23 +110,7 @@ public class CorpusFailJob {
log.info("corpusFailTask send mq {}", ltoMap);
tmTelephoneCorpusService.sendMq(tag, JSONObject.toJSONString(ltoMap));
// 保存报告
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
.aiAnalysisRequestId(oldAiAnalysisRequestLogs.getAiAnalysisRequestId())
.corpusType(corpusReportDTO.getAnalysisScene())
.corpusTime(DateUtil.parse(corpusReportDTO.getCorpusTime()))
.userId(corpusReportDTO.getUserId())
.unionId(corpusReportDTO.getUnionId())
.reportTitle(resultStrOne.replace("#", ""))
.reportInfo(resultStrTwo)
.isLike(0)
.isDeleted(0)
.version(0)
.createBy("system")
.updateBy("")
.createSqlby("")
.updateSqlby("")
.createTime(new Date())
.build());
oldAiAnalysisRequestLogs.setBusinessResponse(JSONObject.toJSONString(ltoMap));
}
oldAiAnalysisRequestLogs.setDifyResponse(JSON.toJSONString(execDifyFlow));

View File

@@ -1,7 +1,7 @@
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.TmAnalysisResult;
import org.apache.ibatis.annotations.Mapper;
/**
@@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
* @date 2025-03-04
*/
@Mapper
public interface TmCorpusReportMapper extends BaseMapper<TmCorpusReport> {
public interface TmAnalysisResultMapper extends BaseMapper<TmAnalysisResult> {
}

View File

@@ -1,9 +1,11 @@
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 com.volvo.ai.analytic.center.entity.TmAnalysisResult;
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
import com.volvo.ai.analytic.center.service.TmAnalysisResultService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
@@ -20,7 +22,7 @@ import java.util.Date;
public class CorpushIsLikeConsumer implements RocketMQListener<MessageExt>{
@Autowired
private TmCorpusReportService tmCorpusReportService;
private TmAnalysisResultService tmAnalysisResultService;
@Override
public void onMessage(MessageExt messageExt) {
@@ -29,10 +31,15 @@ public class CorpushIsLikeConsumer implements RocketMQListener<MessageExt>{
try {
// 保存报告
JSONObject execDifyFlow = JSONObject.parseObject(message);
Integer like = execDifyFlow.getInteger("isLike");
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
String analysisRecordId = execDifyFlow.getString("analysisRecordId");
if(StringUtils.isEmpty(analysisRecordId)){
log.info(" 回调的aiAnalysisRequestId 为空:{} ", execDifyFlow);
return;
}
tmAnalysisResultService.saveTmCorpusReport(TmAnalysisResult.builder()
.aiAnalysisRequestId(execDifyFlow.getString("analysisRecordId"))
.isLike(like)
.analysisResult(execDifyFlow.toJSONString())
.analysisType(BusinessTypeEnum.SMART_ASSISTANT.getCode())
.updateBy("LTO")
.updateTime(new Date())
.build());

View File

@@ -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.TmAnalysisResult;
public interface TmAnalysisResultService extends IService<TmAnalysisResult> {
boolean saveTmCorpusReport(TmAnalysisResult tmCorpusReport);
}

View File

@@ -1,9 +0,0 @@
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<TmCorpusReport> {
boolean saveTmCorpusReport(TmCorpusReport tmCorpusReport);
}

View File

@@ -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.TmAnalysisResult;
import com.volvo.ai.analytic.center.mapper.TmAnalysisResultMapper;
import com.volvo.ai.analytic.center.service.TmAnalysisResultService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class TmAnalysisResultServiceImpl extends ServiceImpl<TmAnalysisResultMapper, TmAnalysisResult> implements TmAnalysisResultService {
@Autowired
private TmAnalysisResultMapper tmCorpusReportMapper;
@Override
public boolean saveTmCorpusReport(TmAnalysisResult tmAnalysisResult) {
LambdaQueryWrapper<TmAnalysisResult> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TmAnalysisResult::getAiAnalysisRequestId, tmAnalysisResult.getAiAnalysisRequestId());
TmAnalysisResult oldTmCorpusReport= tmCorpusReportMapper.selectOne(queryWrapper);
if (oldTmCorpusReport == null) {
return tmCorpusReportMapper.insert(tmAnalysisResult) > 0;
} else {
return tmCorpusReportMapper.update(tmAnalysisResult, queryWrapper) > 0;
}
}
}

View File

@@ -1,30 +0,0 @@
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<TmCorpusReportMapper, TmCorpusReport> implements TmCorpusReportService {
@Autowired
private TmCorpusReportMapper tmCorpusReportMapper;
@Override
public boolean saveTmCorpusReport(TmCorpusReport tmCorpusReport) {
LambdaQueryWrapper<TmCorpusReport> 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;
}
}
}

View File

@@ -57,6 +57,9 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
@Autowired
private TmOdsVdqwWorkuserinfoMapper tmOdsVdqwWorkuserinfoMapper;
@Autowired
private AiAnalysisRequestLogsService aiAnalysisRequestLogsService;
@Autowired
private DiFyService diFyService;
@@ -79,8 +82,6 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
@Autowired
private TmTelephoneCorpusService tmTelephoneCorpusService;
@Autowired
private TmCorpusReportService tmCorpusReportService;
@@ -217,25 +218,9 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
// 发送MQ
log.info("send mq {}", ltoMap);
tmTelephoneCorpusService.sendMq( CategoryEnum.ENTERPRISE_WECHAT.getCode(), JSONObject.toJSONString(ltoMap));
try {
// 保存报告
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
.aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId"))
.corpusType(1l)
.corpusTime(maxMsgTimeItem.getMsgTime())
.userId(userId)
.unionId(unionId)
.reportTitle(resultStrOne.replace("#",""))
.reportInfo(resultStrTwo)
.isLike(0)
.isDeleted(0)
.version(0)
.createBy("system")
.updateBy("")
.createSqlby("")
.updateSqlby("")
.createTime(new Date())
.build());
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(JSONObject.toJSONString(ltoMap)).build());
} catch (Exception e) {
log.info(" 企业语料处理保存报告异常processItem{} ", e);
}

View File

@@ -1,6 +1,5 @@
package com.volvo.ai.analytic.center.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,17 +11,17 @@ import com.volvo.ai.analytic.center.dto.req.DiFyReq;
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.AiAnalysisRequestLogs;
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;
import com.volvo.ai.analytic.center.enums.CategoryEnum;
import com.volvo.ai.analytic.center.feign.RemoteCarModelClient;
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
import com.volvo.ai.analytic.center.service.AiAnalysisRequestLogsService;
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;
@@ -42,7 +41,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -75,8 +73,9 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
@Autowired
private DataMaskingRuleService dataMaskingRuleService;
@Autowired
private TmCorpusReportService tmCorpusReportService;
private AiAnalysisRequestLogsService aiAnalysisRequestLogsService;
@Override
@Transactional
@@ -167,24 +166,8 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl<TmTelephoneCorpusM
log.info("send mq {}",ltoMap);
sendMq( CategoryEnum.PHONE_VOICE.getCode(), JSONObject.toJSONString(ltoMap));
try {
// 保存报告
Date corpusTime = DateUtil.parseUTC(jsonObject.getString("start_time"));
tmCorpusReportService.saveTmCorpusReport(TmCorpusReport.builder()
.aiAnalysisRequestId(aiAnalysisRequestId)
.corpusType(2l)
.corpusTime(corpusTime)
.userId( aicorpusTelephone.getSourceId())
.reportTitle(resultStrOne.replace("#",""))
.reportInfo(resultStrTwo)
.isLike(0)
.isDeleted(0)
.version(0)
.createBy("system")
.updateBy("")
.createSqlby("")
.updateSqlby("")
.createTime(new Date())
.build());
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder().aiAnalysisRequestId(execDifyFlow.getString("aiAnalysisRequestId")).businessResponse(JSONObject.toJSONString(ltoMap)).build());
} catch (Exception e) {
log.info(" 电话语料处理保存报告异常processItem{} ", e);
}