增加失败重试
This commit is contained in:
@@ -67,7 +67,8 @@ public class CorpusFailJob {
|
|||||||
|
|
||||||
@Value("${rocketmq.producer.corpus.dcctopic}")
|
@Value("${rocketmq.producer.corpus.dcctopic}")
|
||||||
private String dccMqTipic;
|
private String dccMqTipic;
|
||||||
|
@Value("${rocketmq.consumer.intelligentCustomer.topic}")
|
||||||
|
private String intelligentCustomerTipic;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
||||||
|
|
||||||
@@ -183,4 +184,61 @@ public class CorpusFailJob {
|
|||||||
aiAnalysisErrorsService.update(aiAnalysisErrors,
|
aiAnalysisErrorsService.update(aiAnalysisErrors,
|
||||||
new LambdaQueryWrapper<AiAnalysisErrors>().eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisRequestId));
|
new LambdaQueryWrapper<AiAnalysisErrors>().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<AiAnalysisErrors> aiAnalysisErrorsListlist = aiAnalysisErrorsService.queryAnalysisErrorList(BusinessTypeEnum.INTELLIGENT_CUSTOMER.getCode(),offset, pageSize);
|
||||||
|
if(CollectionUtils.isNotEmpty(aiAnalysisErrorsListlist)) {
|
||||||
|
log.info("语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size());
|
||||||
|
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<AiAnalysisRequestLogs> 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());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user