diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/MqMessageRecordServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/MqMessageRecordServiceImpl.java index 00d03d9..21c1501 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/MqMessageRecordServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/MqMessageRecordServiceImpl.java @@ -543,31 +543,41 @@ public class MqMessageRecordServiceImpl extends ServiceImpl 0) { //根据ai_analysis_request_id获取AiAnalysisRequestLogs表中的对应的dify_request字段 for (AiAnalysisErrors aiAnalysisError : aiAnalysisErrors) { - AiAnalysisRequestLogs aiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(new LambdaQueryWrapper() - .eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId())); - if (aiAnalysisRequestLogs != null) { - //获取dify_request字段 - String difyRequest = aiAnalysisRequestLogs.getDifyRequest(); - if (StringUtils.isNotEmpty(difyRequest)) { - //调用dify接口 - DiFyReq diFyReq = new DiFyReq(); - diFyReq.setUser(user); - diFyReq.setFlowId(flowId); - diFyReq.setInputs(JSONObject.parseObject(difyRequest)); - JSONObject difResult = (JSONObject) diFyService.getDiFyObject(diFyReq); - this.dueCommunityDifyResponse(difResult); + try { + AiAnalysisRequestLogs aiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(new LambdaQueryWrapper() + .eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId())); + if (aiAnalysisRequestLogs != null) { + //获取dify_request字段 + String difyRequest = aiAnalysisRequestLogs.getDifyRequest(); + if (StringUtils.isNotEmpty(difyRequest)) { + //调用dify接口 + DiFyReq diFyReq = new DiFyReq(); + diFyReq.setUser(user); + diFyReq.setFlowId(flowId); + diFyReq.setInputs(JSONObject.parseObject(difyRequest)); + JSONObject difResult = (JSONObject) diFyService.getDiFyObject(diFyReq); + this.dueCommunityDifyResponse(difResult); + //根据ai_analysis_request_id更新ai_analysis_errors表中的retry_count字段+1,更新status字段为1 + aiAnalysisErrorsMapper.update(new AiAnalysisErrors(), new LambdaUpdateWrapper() + .eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId()) + .set(AiAnalysisErrors::getRetryCount, aiAnalysisError.getRetryCount() + 1) + .set(AiAnalysisErrors::getAiAnalysisErrorHandlingStatus, "1")); + }else{ + aiAnalysisErrorsMapper.update(new AiAnalysisErrors(), new LambdaUpdateWrapper() + .eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId()) + .set(AiAnalysisErrors::getAiAnalysisErrorHandlingStatus, "2")); + } } - //根据ai_analysis_request_id更新ai_analysis_errors表中的retry_count字段+1,更新status字段为1 + } catch (Exception e) { + log.error("补偿社区消息,AIID:{},异常:{}",aiAnalysisError.getAiAnalysisRequestId(), e); aiAnalysisErrorsMapper.update(new AiAnalysisErrors(), new LambdaUpdateWrapper() .eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisError.getAiAnalysisRequestId()) - .set(AiAnalysisErrors::getRetryCount, aiAnalysisError.getRetryCount() + 1) - .set(AiAnalysisErrors::getAiAnalysisErrorHandlingStatus, "1")); - + .set(AiAnalysisErrors::getRetryCount, aiAnalysisError.getRetryCount() + 1)); } } } } catch (Exception e) { - throw new RuntimeException(e); + log.error("处理社区异常消息异常:{}", e); } }