增加异常入库
This commit is contained in:
@@ -4,6 +4,8 @@ package com.volvo.ai.analytic.center.mq;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
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.service.AiAnalysisErrorsService;
|
||||||
import com.volvo.ai.analytic.center.service.AiAnalysisRequestLogsService;
|
import com.volvo.ai.analytic.center.service.AiAnalysisRequestLogsService;
|
||||||
import com.volvo.ai.analytic.center.service.DiFyService;
|
import com.volvo.ai.analytic.center.service.DiFyService;
|
||||||
import com.volvo.ai.analytic.center.utils.ConstantStr;
|
import com.volvo.ai.analytic.center.utils.ConstantStr;
|
||||||
@@ -56,6 +58,9 @@ public class AnalysisDifyMqConsumer implements RocketMQListener<MessageExt> {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisCounterRateLimiter redisCounterRateLimiter;
|
private RedisCounterRateLimiter redisCounterRateLimiter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AiAnalysisErrorsService aiAnalysisErrorsService;
|
||||||
|
|
||||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -76,7 +81,19 @@ public class AnalysisDifyMqConsumer implements RocketMQListener<MessageExt> {
|
|||||||
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(difyReq.getInputs()), JSONObject.class);
|
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(difyReq.getInputs()), JSONObject.class);
|
||||||
String aiAnalysisRequestId = difyRequest.getString("aiAnalysisRequestId");
|
String aiAnalysisRequestId = difyRequest.getString("aiAnalysisRequestId");
|
||||||
// JSONObject json = future.get();
|
// JSONObject json = future.get();
|
||||||
future.thenAccept(result -> log.info("异步处理asyncExecuteDifyFlow完成aiAnalysisRequestId: {},处理结果:{}", aiAnalysisRequestId, result)).exceptionally(ex -> {
|
future.thenAccept(result -> {
|
||||||
|
log.info("异步处理asyncExecuteDifyFlow完成aiAnalysisRequestId: {},处理结果:{}", aiAnalysisRequestId, result);
|
||||||
|
JSONObject data = result.getJSONObject("data");
|
||||||
|
|
||||||
|
if(null == result || data.get("status").equals("failed")){
|
||||||
|
aiAnalysisErrorsService.saveAiAnalysisErrors(AiAnalysisErrors.builder()
|
||||||
|
.aiAnalysisRequestId(aiAnalysisRequestId)
|
||||||
|
.aiAnalysisRequestType(difyRequest.getString("aiAnalysisRequestType"))
|
||||||
|
.aiAnalysisErrorHandlingStatus("0")
|
||||||
|
.aiAnalysisErrorMessage(data.getString("error"))
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}).exceptionally(ex -> {
|
||||||
log.error("异步处理asyncExecuteDifyFlow 失败aiAnalysisRequestId: {} ,{}", aiAnalysisRequestId,ex.getMessage());
|
log.error("异步处理asyncExecuteDifyFlow 失败aiAnalysisRequestId: {} ,{}", aiAnalysisRequestId,ex.getMessage());
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ public class AiAnalysisDifyServiceImpl implements AiAnalysisDifyService {
|
|||||||
diFyReq.setFlowId(tcBusinessType.getWorkflowApiKey());
|
diFyReq.setFlowId(tcBusinessType.getWorkflowApiKey());
|
||||||
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(analysisReq.getData()), JSONObject.class);
|
JSONObject difyRequest = JSONObject.parseObject(JSONObject.toJSONString(analysisReq.getData()), JSONObject.class);
|
||||||
difyRequest.put("aiAnalysisRequestId", aiAnalysisRequestId);
|
difyRequest.put("aiAnalysisRequestId", aiAnalysisRequestId);
|
||||||
|
difyRequest.put("aiAnalysisRequestType", tcBusinessType.getBusinessRequestType() );
|
||||||
diFyReq.setInputs(difyRequest);
|
diFyReq.setInputs(difyRequest);
|
||||||
return diFyReq;
|
return diFyReq;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user