From b44b741a9e7f84ffb4213ee522e0bcdb85db4b31 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Thu, 18 Jan 2024 22:46:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=202.6.0=201.=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A4=B1=E8=B4=A5=E9=87=8D=E8=AF=95=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=90=8E=E7=BB=AD=E8=8A=82=E7=82=B9=E4=B8=BA=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E6=89=A7=E8=A1=8C=E9=97=AE=E9=A2=98=202.=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=BF=94=E5=9B=9E=E7=9A=84?= =?UTF-8?q?=E9=9D=9Ejson=E5=AF=B9=E8=B1=A1=E5=AF=BC=E8=87=B4=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../easy/retry/common/core/constant/SystemConstants.java | 5 +++++ .../retry/common/core/enums/JobOperationReasonEnum.java | 3 ++- .../support/callback/AbstractClientCallbackHandler.java | 2 ++ .../support/expression/ExpressionInvocationHandler.java | 7 ++++++- .../job/task/support/handler/JobTaskBatchHandler.java | 2 ++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java index f2dfc3bd..47015854 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java @@ -117,4 +117,9 @@ public interface SystemConstants { * 系统内置的回调任务ID */ Long CALLBACK_JOB_ID = -2000L; + + /** + * 客户端返回的非json对象,单值比如 "aa", 123等 + */ + String SINGLE_PARAM = "SINGLE_PARAM"; } diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java index 17d79eb9..8eb8d785 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java @@ -44,6 +44,7 @@ public enum JobOperationReasonEnum { * 工作流后续节点跳过执行配置 */ public static final List WORKFLOW_SUCCESSOR_SKIP_EXECUTE = Arrays.asList( - WORKFLOW_NODE_NO_OPERATION_REQUIRED.getReason(), WORKFLOW_DECISION_FOR_FALSE.getReason()); + WORKFLOW_NODE_NO_OPERATION_REQUIRED.getReason(), WORKFLOW_DECISION_FOR_FALSE.getReason(), + WORKFLOW_CONDITION_NODE_EXECUTOR_ERROR.reason); } 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 4b878bed..3062ea83 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 @@ -48,6 +48,8 @@ public abstract class AbstractClientCallbackHandler implements ClientCallbackHan JobTask jobTask = context.getJobTask(); RealJobExecutorDTO realJobExecutor = JobTaskConverter.INSTANCE.toRealJobExecutorDTO(JobTaskConverter.INSTANCE.toJobExecutorContext(job), jobTask); realJobExecutor.setClientId(ClientInfoUtils.clientId(context.getClientInfo())); + realJobExecutor.setWorkflowNodeId(context.getWorkflowNodeId()); + realJobExecutor.setWorkflowTaskBatchId(context.getWorkflowTaskBatchId()); ActorRef actorRef = ActorGenerator.jobRealTaskExecutorActor(); actorRef.tell(realJobExecutor, actorRef); LogMetaDTO logMetaDTO = JobTaskConverter.INSTANCE.toJobLogDTO(context); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/expression/ExpressionInvocationHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/expression/ExpressionInvocationHandler.java index 07a5c6cd..ad530e1d 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/expression/ExpressionInvocationHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/expression/ExpressionInvocationHandler.java @@ -1,6 +1,7 @@ package com.aizuda.easy.retry.server.job.task.support.expression; import cn.hutool.core.util.StrUtil; +import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.exception.EasyRetryCommonException; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; @@ -32,7 +33,11 @@ public class ExpressionInvocationHandler implements InvocationHandler { String params = (String) expressionParams[0]; Map contextMap = new HashMap<>(); if (StrUtil.isNotBlank(params)) { - contextMap = JsonUtil.parseHashMap(params); + try { + contextMap = JsonUtil.parseHashMap(params); + } catch (Exception e) { + contextMap.put(SystemConstants.SINGLE_PARAM, params); + } } args[1] = new Object[]{contextMap}; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java index 5fc06c35..3582dd05 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/handler/JobTaskBatchHandler.java @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.util.CollectionUtils; @@ -41,6 +42,7 @@ public class JobTaskBatchHandler { @Autowired private JobTaskBatchMapper jobTaskBatchMapper; + @Transactional public boolean complete(CompleteJobBatchDTO completeJobBatchDTO) { List jobTasks = jobTaskMapper.selectList(