From 6ce6485da94193ae0a9957687fd9f944d1a21c2b Mon Sep 17 00:00:00 2001 From: csc <869898671@qq.com> Date: Fri, 9 May 2025 00:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E5=BC=80=E5=8F=91=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E4=B8=AD=E8=B0=83=E7=94=A8=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/enums/WorkflowNodeTypeEnum.java | 1 + .../server/common/handler/WorkflowHandler.java | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/WorkflowNodeTypeEnum.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/WorkflowNodeTypeEnum.java index 0d9de52e0..6830efd46 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/WorkflowNodeTypeEnum.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/enums/WorkflowNodeTypeEnum.java @@ -16,6 +16,7 @@ public enum WorkflowNodeTypeEnum { JOB_TASK(1, "JOB task"), DECISION(2, "Decision node"), CALLBACK(3, "Callback node"), + WORKFLOW(4, "Workflow node"), ; private final int type; diff --git a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/handler/WorkflowHandler.java b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/handler/WorkflowHandler.java index c8eaba532..d58e48730 100644 --- a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/handler/WorkflowHandler.java +++ b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/handler/WorkflowHandler.java @@ -161,9 +161,7 @@ public class WorkflowHandler { Assert.notNull(decision.getDefaultDecision(), () -> new SnailJobServerException("Default decision for [{}] cannot be empty", nodeInfo.getNodeName())); Assert.notNull(decision.getExpressionType(), () -> new SnailJobServerException("Expression type for [{}] cannot be empty", nodeInfo.getNodeName())); workflowNode.setNodeInfo(JsonUtil.toJsonString(decision)); - } - - if (WorkflowNodeTypeEnum.CALLBACK.getType() == nodeConfig.getNodeType()) { + }else if (WorkflowNodeTypeEnum.CALLBACK.getType() == nodeConfig.getNodeType()) { workflowNode.setJobId(SystemConstants.CALLBACK_JOB_ID); CallbackConfig callback = nodeInfo.getCallback(); Assert.notNull(callback, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName())); @@ -171,13 +169,16 @@ public class WorkflowHandler { Assert.notNull(callback.getContentType(), () -> new SnailJobServerException("Request type for [{}] cannot be empty", nodeInfo.getNodeName())); Assert.notBlank(callback.getSecret(), () -> new SnailJobServerException("Secret key for [{}] cannot be empty", nodeInfo.getNodeName())); workflowNode.setNodeInfo(JsonUtil.toJsonString(callback)); - } - - if (WorkflowNodeTypeEnum.JOB_TASK.getType() == nodeConfig.getNodeType()) { + }else if (WorkflowNodeTypeEnum.JOB_TASK.getType() == nodeConfig.getNodeType()) { JobTaskConfig jobTask = nodeInfo.getJobTask(); Assert.notNull(jobTask, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName())); Assert.notNull(jobTask.getJobId(), () -> new SnailJobServerException("Associated task for [{}] cannot be empty", nodeInfo.getNodeName())); workflowNode.setJobId(jobTask.getJobId()); + }else if (WorkflowNodeTypeEnum.WORKFLOW.getType() == nodeConfig.getNodeType()) { + // TODO 工作流结点 + throw new SnailJobServerException("Unsupported node type [{}]", nodeConfig.getNodeType()); + } else { + throw new SnailJobServerException("Unsupported node type [{}]", nodeConfig.getNodeType()); } Assert.isTrue(1 == workflowNodeMapper.insert(workflowNode),