铭牌失败补偿
This commit is contained in:
@@ -30,7 +30,7 @@ public class NameplateCorpusController {
|
||||
@PostMapping("/updateNameplate")
|
||||
@ApiOperation(value = "更新dify结果")
|
||||
public ResultMsg<Object> updateNameplate(@RequestBody String message) {
|
||||
log.info("updateByAiId message: {}", message);
|
||||
log.info("updateNameplate message: {}", 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.entity.AiAnalysisErrors;
|
||||
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.CategoryEnum;
|
||||
import com.volvo.ai.analytic.center.mapper.AiAnalysisRequestLogsMapper;
|
||||
import com.volvo.ai.analytic.center.mapper.TmTelephoneCorpusMapper;
|
||||
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.service.*;
|
||||
import com.volvo.ai.analytic.center.utils.FlowResultSplitUtil;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -72,6 +70,9 @@ public class CorpusFailJob {
|
||||
@Autowired
|
||||
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
||||
|
||||
@Autowired
|
||||
private TmNameplateCorpusService tmNameplateCorpusService;
|
||||
|
||||
|
||||
/**
|
||||
* 企微语料处理
|
||||
@@ -81,14 +82,14 @@ public class CorpusFailJob {
|
||||
public void 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);
|
||||
int totalPages = PageDto.getTotalPages(total, pageSize);
|
||||
log.info("corpusFailTask 语料解析失败重试处理数据量:{},总页数:{}", total, totalPages);
|
||||
for (int i = 1; i <= totalPages; i++) {
|
||||
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)) {
|
||||
log.info("corpusFailTask语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size());
|
||||
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
||||
@@ -139,6 +140,14 @@ public class CorpusFailJob {
|
||||
updateAiAnalysisErrors(aiAnalysisErrors, oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
||||
|
||||
}
|
||||
} 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()));
|
||||
if(CollectionUtils.isNotEmpty(dccDtoList)){
|
||||
|
||||
@@ -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);
|
||||
|
||||
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.common.core.util.ResultMsg;
|
||||
|
||||
import java.util.List;
|
||||
/**
|
||||
* @description 铭牌语料表-同步表
|
||||
* @author BEJSON
|
||||
@@ -19,4 +20,6 @@ public interface TmNameplateCorpusService extends IService<TmNameplateCorpus> {
|
||||
void sendNameplateLto(JSONObject execDifyFlow, TmNameplateCorpus tmNameplateCorpus);
|
||||
|
||||
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);
|
||||
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()
|
||||
.aiAnalysisRequestId(aiAnalysisRequestId)
|
||||
.difyResponse(data.toJSONString())
|
||||
|
||||
@@ -139,7 +139,7 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
||||
// 获取前一天日期
|
||||
LocalDate yesterday = today.minusDays(1);
|
||||
boolean retry = true;
|
||||
String customerFlowIds = null;
|
||||
List<String> customerFlowIds = null;
|
||||
// 格式化输出
|
||||
String formattedDate = yesterday.toString(); // 默认格式为 yyyy-MM-dd
|
||||
String statTime = formattedDate.concat(" 00:00:00");
|
||||
@@ -150,11 +150,12 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
||||
statTime = paramJsonObj.getString("statTime");
|
||||
endTime = paramJsonObj.getString("endTime");
|
||||
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);
|
||||
|
||||
// 获取消息列表
|
||||
@@ -165,7 +166,7 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
||||
|
||||
for (int i = 1; i <= totalPages; i++) {
|
||||
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<?>[] futures = messageList.stream()
|
||||
@@ -280,5 +281,10 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl<TmNameplateCorpusM
|
||||
return ResultMsg.failed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TmNameplateCorpus> queryTelephoneCorpusByCustomerFlowId(List<String> customerFlowIds) {
|
||||
return tmNameplateCorpusMapper.queryTmNameplateCorpusByCustomerFlowIds(customerFlowIds);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user