铭牌失败补偿
This commit is contained in:
@@ -30,7 +30,7 @@ public class NameplateCorpusController {
|
|||||||
@PostMapping("/updateNameplate")
|
@PostMapping("/updateNameplate")
|
||||||
@ApiOperation(value = "更新dify结果")
|
@ApiOperation(value = "更新dify结果")
|
||||||
public ResultMsg<Object> updateNameplate(@RequestBody String message) {
|
public ResultMsg<Object> updateNameplate(@RequestBody String message) {
|
||||||
log.info("updateByAiId message: {}", message);
|
log.info("updateNameplate message: {}", message);
|
||||||
return tmNameplateCorpusService.updateNameplate(message);
|
return tmNameplateCorpusService.updateNameplate(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,14 +9,12 @@ import com.volvo.ai.analytic.center.dto.corpus.CorpusReportDTO;
|
|||||||
import com.volvo.ai.analytic.center.dto.req.DiFyReq;
|
import com.volvo.ai.analytic.center.dto.req.DiFyReq;
|
||||||
import com.volvo.ai.analytic.center.entity.AiAnalysisErrors;
|
import com.volvo.ai.analytic.center.entity.AiAnalysisErrors;
|
||||||
import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs;
|
import com.volvo.ai.analytic.center.entity.AiAnalysisRequestLogs;
|
||||||
|
import com.volvo.ai.analytic.center.entity.TmNameplateCorpus;
|
||||||
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
|
import com.volvo.ai.analytic.center.enums.BusinessTypeEnum;
|
||||||
import com.volvo.ai.analytic.center.enums.CategoryEnum;
|
import com.volvo.ai.analytic.center.enums.CategoryEnum;
|
||||||
import com.volvo.ai.analytic.center.mapper.AiAnalysisRequestLogsMapper;
|
import com.volvo.ai.analytic.center.mapper.AiAnalysisRequestLogsMapper;
|
||||||
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
|
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
|
||||||
import com.volvo.ai.analytic.center.service.AiAnalysisErrorsService;
|
import com.volvo.ai.analytic.center.service.*;
|
||||||
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.volvo.ai.analytic.center.utils.FlowResultSplitUtil;
|
||||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -72,6 +70,9 @@ public class CorpusFailJob {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TmNameplateCorpusService tmNameplateCorpusService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 企微语料处理
|
* 企微语料处理
|
||||||
@@ -81,14 +82,14 @@ public class CorpusFailJob {
|
|||||||
public void corpusFailTask() {
|
public void corpusFailTask() {
|
||||||
|
|
||||||
log.info(" corpusFailTask解析失败重试处理");
|
log.info(" corpusFailTask解析失败重试处理");
|
||||||
Integer total = aiAnalysisErrorsService.queryCountAnalysisErrorList(Arrays.asList(BusinessTypeEnum.SMART_ASSISTANT.getCode(),BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode()));
|
Integer total = aiAnalysisErrorsService.queryCountAnalysisErrorList(Arrays.asList(BusinessTypeEnum.SMART_ASSISTANT.getCode(),BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode(),BusinessTypeEnum.SMART_ASSISTANT_NAMEPLATE.getCode()));
|
||||||
log.info("corpusFailTask语料解析失败重试处理数据量:{}", total);
|
log.info("corpusFailTask语料解析失败重试处理数据量:{}", total);
|
||||||
int totalPages = PageDto.getTotalPages(total, pageSize);
|
int totalPages = PageDto.getTotalPages(total, pageSize);
|
||||||
log.info("corpusFailTask 语料解析失败重试处理数据量:{},总页数:{}", total, totalPages);
|
log.info("corpusFailTask 语料解析失败重试处理数据量:{},总页数:{}", total, totalPages);
|
||||||
for (int i = 1; i <= totalPages; i++) {
|
for (int i = 1; i <= totalPages; i++) {
|
||||||
int offset = (i - 1) * pageSize;
|
int offset = (i - 1) * pageSize;
|
||||||
|
|
||||||
List<AiAnalysisErrors> aiAnalysisErrorsListlist = aiAnalysisErrorsService.queryAnalysisErrorList(Arrays.asList(BusinessTypeEnum.SMART_ASSISTANT.getCode(),BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode()),offset, pageSize);
|
List<AiAnalysisErrors> aiAnalysisErrorsListlist = aiAnalysisErrorsService.queryAnalysisErrorList(Arrays.asList(BusinessTypeEnum.SMART_ASSISTANT.getCode(),BusinessTypeEnum.SMART_ASSISTANT_QIWEI.getCode(),BusinessTypeEnum.SMART_ASSISTANT_NAMEPLATE.getCode()),offset, pageSize);
|
||||||
if(CollectionUtils.isNotEmpty(aiAnalysisErrorsListlist)) {
|
if(CollectionUtils.isNotEmpty(aiAnalysisErrorsListlist)) {
|
||||||
log.info("corpusFailTask语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size());
|
log.info("corpusFailTask语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size());
|
||||||
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
||||||
@@ -139,7 +140,15 @@ public class CorpusFailJob {
|
|||||||
updateAiAnalysisErrors(aiAnalysisErrors, oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
updateAiAnalysisErrors(aiAnalysisErrors, oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else if(null != corpusReportDTO && corpusReportDTO.getAnalysisScene() == 3){
|
||||||
|
log.info(" corpusFailTask 铭牌数据重试:{}", corpusReportDTO.getAnalysisScene());
|
||||||
|
JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyReq, oldAiAnalysisRequestLogs.getAiAnalysisRequestType(), JSONObject.toJSONString(corpusReportDTO),oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
||||||
|
List<TmNameplateCorpus> nameplateCorpusList = tmNameplateCorpusService.queryTelephoneCorpusByCustomerFlowId( Arrays.asList(corpusReportDTO.getCustomerFlowId()));
|
||||||
|
if(CollectionUtils.isNotEmpty(nameplateCorpusList)) {
|
||||||
|
TmNameplateCorpus nameplateCorpus = nameplateCorpusList.get(0);
|
||||||
|
tmNameplateCorpusService.sendNameplateLto(execDifyFlow, nameplateCorpus);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
List<AicorpusTelephoneDTO> dccDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(corpusReportDTO.getRecordId()));
|
List<AicorpusTelephoneDTO> dccDtoList = tmTelephoneCorpusMapper.queryTelephoneCorpusBySourceIds( Arrays.asList(corpusReportDTO.getRecordId()));
|
||||||
if(CollectionUtils.isNotEmpty(dccDtoList)){
|
if(CollectionUtils.isNotEmpty(dccDtoList)){
|
||||||
AicorpusTelephoneDTO dccDto = dccDtoList.get(0);
|
AicorpusTelephoneDTO dccDto = dccDtoList.get(0);
|
||||||
|
|||||||
@@ -19,8 +19,9 @@ public interface TmNameplateCorpusMapper extends BaseMapper<TmNameplateCorpus> {
|
|||||||
|
|
||||||
List<TmNameplateCorpus> queryTmNameplateCorpusByData(@Param("statTime") String statTime, @Param("endTime") String endTime, @Param("offset") int offset, @Param("pageSize") int pageSize);
|
List<TmNameplateCorpus> queryTmNameplateCorpusByData(@Param("statTime") String statTime, @Param("endTime") String endTime, @Param("offset") int offset, @Param("pageSize") int pageSize);
|
||||||
|
|
||||||
int countQueryTmNameplateCorpusRetry(@Param("statTime") String statTime, @Param("endTime") String endTime, @Param("customerFlowIds") List<String> customerFlowIds, @Param("retry") boolean retry);
|
int countQueryTmNameplateCorpusRetry(@Param("statTime") String statTime, @Param("endTime") String endTime, @Param("customerFlowIds") List customerFlowIds, @Param("retry") boolean retry);
|
||||||
|
|
||||||
List<TmNameplateCorpus> queryTmNameplateCorpusRetry(@Param("statTime") String statTime, @Param("endTime") String endTime,@Param("offset") int offset, @Param("pageSize") int pageSize, @Param("customerFlowIds") List<String> customerFlowIds, @Param("retry") boolean retry);
|
List<TmNameplateCorpus> queryTmNameplateCorpusRetry(@Param("statTime") String statTime, @Param("endTime") String endTime,@Param("offset") int offset, @Param("pageSize") int pageSize, @Param("customerFlowIds") List customerFlowIds, @Param("retry") boolean retry);
|
||||||
|
|
||||||
|
List<TmNameplateCorpus> queryTmNameplateCorpusByCustomerFlowIds(@Param("customerFlowIds") List customerFlowIds);
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import com.volvo.ai.analytic.center.entity.TmNameplateCorpus;
|
import com.volvo.ai.analytic.center.entity.TmNameplateCorpus;
|
||||||
import com.volvo.common.core.util.ResultMsg;
|
import com.volvo.common.core.util.ResultMsg;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
/**
|
/**
|
||||||
* @description 铭牌语料表-同步表
|
* @description 铭牌语料表-同步表
|
||||||
* @author BEJSON
|
* @author BEJSON
|
||||||
@@ -19,4 +20,6 @@ public interface TmNameplateCorpusService extends IService<TmNameplateCorpus> {
|
|||||||
void sendNameplateLto(JSONObject execDifyFlow, TmNameplateCorpus tmNameplateCorpus);
|
void sendNameplateLto(JSONObject execDifyFlow, TmNameplateCorpus tmNameplateCorpus);
|
||||||
|
|
||||||
ResultMsg<Object> updateNameplate(String message);
|
ResultMsg<Object> updateNameplate(String message);
|
||||||
|
|
||||||
|
List<TmNameplateCorpus> queryTelephoneCorpusByCustomerFlowId(List<String> customerFlowIds);
|
||||||
}
|
}
|
||||||
@@ -72,6 +72,16 @@ public class DiFyServiceImpl implements DiFyService{
|
|||||||
log.debug("execDifyFlow dify response aiID:{} , data:{}",aiAnalysisRequestId,data);
|
log.debug("execDifyFlow dify response aiID:{} , data:{}",aiAnalysisRequestId,data);
|
||||||
data.put("aiAnalysisRequestId",aiAnalysisRequestId);
|
data.put("aiAnalysisRequestId",aiAnalysisRequestId);
|
||||||
|
|
||||||
|
if (null != data && data.get("status").equals("failed")) {
|
||||||
|
log.info("execDifyFlow failed, aiAnalysisRequestId:{} , data:{}",aiAnalysisRequestId,data);
|
||||||
|
aiAnalysisErrorsService.saveAiAnalysisErrors(AiAnalysisErrors.builder()
|
||||||
|
.aiAnalysisRequestId(aiAnalysisRequestId)
|
||||||
|
.aiAnalysisRequestType(businessType)
|
||||||
|
.aiAnalysisErrorHandlingStatus("0")
|
||||||
|
.aiAnalysisErrorMessage(data.getString("error"))
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder()
|
aiAnalysisRequestLogsService.saveAiAnalysisRequestLogs(AiAnalysisRequestLogs.builder()
|
||||||
.aiAnalysisRequestId(aiAnalysisRequestId)
|
.aiAnalysisRequestId(aiAnalysisRequestId)
|
||||||
.difyResponse(data.toJSONString())
|
.difyResponse(data.toJSONString())
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
|||||||
// 获取前一天日期
|
// 获取前一天日期
|
||||||
LocalDate yesterday = today.minusDays(1);
|
LocalDate yesterday = today.minusDays(1);
|
||||||
boolean retry = true;
|
boolean retry = true;
|
||||||
String customerFlowIds = null;
|
List<String> customerFlowIds = null;
|
||||||
// 格式化输出
|
// 格式化输出
|
||||||
String formattedDate = yesterday.toString(); // 默认格式为 yyyy-MM-dd
|
String formattedDate = yesterday.toString(); // 默认格式为 yyyy-MM-dd
|
||||||
String statTime = formattedDate.concat(" 00:00:00");
|
String statTime = formattedDate.concat(" 00:00:00");
|
||||||
@@ -150,11 +150,12 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
|||||||
statTime = paramJsonObj.getString("statTime");
|
statTime = paramJsonObj.getString("statTime");
|
||||||
endTime = paramJsonObj.getString("endTime");
|
endTime = paramJsonObj.getString("endTime");
|
||||||
retry = paramJsonObj.getBoolean("retry");
|
retry = paramJsonObj.getBoolean("retry");
|
||||||
customerFlowIds = paramJsonObj.getString("customerFlowIds");
|
String customerFlowId = paramJsonObj.getString("customerFlowIds");
|
||||||
|
customerFlowIds = Arrays.asList(customerFlowId.split(","));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer total = tmNameplateCorpusMapper.countQueryTmNameplateCorpusRetry(statTime, endTime, Arrays.asList(customerFlowIds.split(",")),retry);
|
Integer total = tmNameplateCorpusMapper.countQueryTmNameplateCorpusRetry(statTime, endTime, customerFlowIds ,retry);
|
||||||
int totalPages = PageDto.getTotalPages(total, pageSize);
|
int totalPages = PageDto.getTotalPages(total, pageSize);
|
||||||
|
|
||||||
// 获取消息列表
|
// 获取消息列表
|
||||||
@@ -165,7 +166,7 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
|||||||
|
|
||||||
for (int i = 1; i <= totalPages; i++) {
|
for (int i = 1; i <= totalPages; i++) {
|
||||||
int offset = (i - 1) * pageSize;
|
int offset = (i - 1) * pageSize;
|
||||||
List<TmNameplateCorpus> messageList = tmNameplateCorpusMapper.queryTmNameplateCorpusRetry(statTime, endTime, offset, pageSize, Arrays.asList(customerFlowIds.split(",")), retry);
|
List<TmNameplateCorpus> messageList = tmNameplateCorpusMapper.queryTmNameplateCorpusRetry(statTime, endTime, offset, pageSize, customerFlowIds, retry);
|
||||||
// 处理查询到的数据
|
// 处理查询到的数据
|
||||||
// 使用 CompletableFuture 并行处理
|
// 使用 CompletableFuture 并行处理
|
||||||
CompletableFuture<?>[] futures = messageList.stream()
|
CompletableFuture<?>[] futures = messageList.stream()
|
||||||
@@ -280,5 +281,10 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
|||||||
return ResultMsg.failed();
|
return ResultMsg.failed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TmNameplateCorpus> queryTelephoneCorpusByCustomerFlowId(List<String> customerFlowIds) {
|
||||||
|
return tmNameplateCorpusMapper.queryTmNameplateCorpusByCustomerFlowIds(customerFlowIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user