diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/job/CorpusFailJob.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/job/CorpusFailJob.java index da786ce..72ee77d 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/job/CorpusFailJob.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/job/CorpusFailJob.java @@ -67,7 +67,8 @@ public class CorpusFailJob { @Value("${rocketmq.producer.corpus.dcctopic}") private String dccMqTipic; - + @Value("${rocketmq.consumer.intelligentCustomer.topic}") + private String intelligentCustomerTipic; @Autowired private TmTelephoneCorpusMapper tmTelephoneCorpusMapper; @@ -183,4 +184,61 @@ public class CorpusFailJob { aiAnalysisErrorsService.update(aiAnalysisErrors, new LambdaQueryWrapper().eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisRequestId)); } + + + + /** + * 智能客服-四合一 + */ + @XxlJob("intelligentCustomer4in1FailTask") + @PostMapping("intelligentCustomer4in1FailTask") + public void intelligentCustomer4in1() { + + log.info(" INTELLIGENT_CUSTOMER_4IN1 解析失败重试处理"); + Integer total = aiAnalysisErrorsService.queryCountAnalysisErrorList(BusinessTypeEnum.INTELLIGENT_CUSTOMER.getCode()); + log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败重试处理数据量:{}", total); + int totalPages = PageDto.getTotalPages(total, pageSize); + log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败重试处理数据量:{},总页数:{}", total, totalPages); + for (int i = 1; i <= totalPages; i++) { + int offset = (i - 1) * pageSize; + + List aiAnalysisErrorsListlist = aiAnalysisErrorsService.queryAnalysisErrorList(BusinessTypeEnum.INTELLIGENT_CUSTOMER.getCode(),offset, pageSize); + if(CollectionUtils.isNotEmpty(aiAnalysisErrorsListlist)) { + log.info("语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size()); + aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisErrors.getAiAnalysisRequestId()); + AiAnalysisRequestLogs oldAiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(queryWrapper); + + if (null != oldAiAnalysisRequestLogs) { + JSONObject businessRequest = JSONObject.parseObject(oldAiAnalysisRequestLogs.getBusinessRequest()); + businessRequest.put("aiAnalysisRequestId", oldAiAnalysisRequestLogs.getAiAnalysisRequestId()); + String message = businessRequest.toJSONString(); + rocketMqTemplate.asyncSend(intelligentCustomerTipic, MessageBuilder.withPayload(message).build(), + new SendCallback() { + @Override + public void onSuccess(SendResult sendResult) { + log.info(" INTELLIGENT_CUSTOMER_4IN1 失败补偿 发送MQ成功 消息体:{}", message); + } + @Override + public void onException(Throwable e) { + log.error("INTELLIGENT_CUSTOMER_4IN1 失败补偿 送MQ异常 消息体:{}, 异常:", message, e); + } + }, 10000); + + } + } catch (Exception e) { + log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败补偿异常:{}", e); + aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("0"); + aiAnalysisErrors.setRetryCount(aiAnalysisErrors.getRetryCount() + 1); + updateAiAnalysisErrors(aiAnalysisErrors, aiAnalysisErrors.getAiAnalysisRequestId()); + } + }); + } + } + + + + } }