From a231fecaa5ba216beaab236c2b0cd4b2776ba45a Mon Sep 17 00:00:00 2001 From: lxu75 Date: Wed, 21 May 2025 14:50:37 +0800 Subject: [PATCH] =?UTF-8?q?retry=E6=9C=BA=E5=88=B6=E6=8A=9B=E5=87=BA?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/analytic/center/feign/DiFyFeign.java | 1 - .../impl/ClaimVerificationServiceImpl.java | 8 ++++--- .../center/service/impl/DiFyRetryImpl.java | 22 +++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyRetryImpl.java diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/DiFyFeign.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/DiFyFeign.java index 1cadd7f..f45a458 100644 --- a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/DiFyFeign.java +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/DiFyFeign.java @@ -18,7 +18,6 @@ public interface DiFyFeign { , produces = MediaType.APPLICATION_JSON_VALUE) JSONObject runWorkflows(@RequestHeader(value = "Authorization") String authorization, @RequestBody Map map); - @Retryable(maxAttempts = 1, backoff = @Backoff(delay = 1000)) @PostMapping(value = "v1/workflows/run" , consumes = MediaType.APPLICATION_JSON_VALUE , produces = MediaType.APPLICATION_JSON_VALUE) diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java index c1b4589..2cb0b7a 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/ClaimVerificationServiceImpl.java @@ -79,6 +79,9 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService { @Autowired private AiAnalysisErrorsMapper aiAnalysisErrorsMapper; + @Autowired + private DiFyRetryImpl diFyRetry; + @Override public void consumerMessageByMQ(String message) { // 生成ai分析请求id @@ -162,8 +165,8 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService { diFyReq.setUser(BusinessTypeEnum.CLAIM_VERIFICATION.getCode()); diFyReq.setFlowId(verificationToken); diFyReq.setInputs(parsedAudit); - //调用dify 工作流 - diFyObject = (JSONObject) diFyService.getDiFyObjectRetry(diFyReq); + //调用dify 工作流 失败重试一次 + diFyObject = diFyRetry.getDiFyRetry(diFyReq); //处理结果并推送MQ if (diFyObject == null) { log.error("售后索赔检核审计报告dify返回结果为空"); @@ -187,7 +190,6 @@ public class ClaimVerificationServiceImpl implements ClaimVerificationService { sendErrorCallBack(claimVerificationFileAnalysisDTO, aiAnalysisRequestId); //保存错误日志 saveException(e.getMessage(), aiAnalysisRequestId, diFyObject); - throw e; } } diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyRetryImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyRetryImpl.java new file mode 100644 index 0000000..a14a510 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/DiFyRetryImpl.java @@ -0,0 +1,22 @@ +package com.volvo.ai.analytic.center.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.volvo.ai.analytic.center.dto.req.DiFyReq; +import com.volvo.ai.analytic.center.service.DiFyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * dify调用retry + */ +@Service +public class DiFyRetryImpl { + + @Autowired + private DiFyService diFyService; + public JSONObject getDiFyRetry(DiFyReq diFyReq) { + + return (JSONObject) diFyService.getDiFyObjectRetry(diFyReq); + } + +}