From 091c01b2e4529efd7577048948786c69d119d51f Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Thu, 29 Feb 2024 22:06:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=203.1.0=201.=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E9=87=8D=E8=AF=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callback/AbstractClientCallbackHandler.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java index 3372f840..6c94a60a 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/callback/AbstractClientCallbackHandler.java @@ -15,6 +15,7 @@ import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import org.springframework.beans.factory.InitializingBean; @@ -76,10 +77,14 @@ public abstract class AbstractClientCallbackHandler implements ClientCallbackHan } Job job = context.getJob(); - return SqlHelper.retBool(jobTaskMapper.update(updateJobTask, Wrappers.lambdaUpdate() - .lt(JobTask::getRetryCount, job.getMaxRetryTimes()) - .eq(JobTask::getId, context.getTaskId()) - )); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(JobTask::getId, context.getTaskId()); + if (Objects.isNull(context.getRetryScene()) + || Objects.equals(JobRetrySceneEnum.AUTO.getRetryScene(), context.getRetryScene())) { + updateWrapper.lt(JobTask::getRetryCount, job.getMaxRetryTimes()); + } + + return SqlHelper.retBool(jobTaskMapper.update(updateJobTask,updateWrapper)); }