From 3c6bf11cad520fd31e1e69fc49d61a16872d5215 Mon Sep 17 00:00:00 2001 From: dengqichen Date: Wed, 18 Dec 2024 18:25:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/dto/WorkflowDefinitionDTO.java | 3 +- .../node/NodeDefinitionContainer.java | 18 +++++++ .../BaseEventNodeLocalVariables.java | 11 +++++ .../BaseNodeLocalVariables.java} | 4 +- .../BaseTaskNodeLocalVariables.java} | 16 +----- .../localVariables/EndNodeLocalVariables.java | 13 +++++ .../GitCloneLocalVariables.java} | 4 +- .../ScriptNodeLocalVariables.java} | 4 +- .../StartNodeLocalVariables.java | 13 +++++ .../demo/ConditionalGatewayConfig.java | 46 +++++++++++++++++ .../demo/ExclusiveGatewayConfig.java | 25 ++++++++++ .../localVariables/demo/GatewayConfig.java | 35 +++++++++++++ .../demo/InclusiveGatewayConfig.java | 23 +++++++++ .../demo/ParallelGatewayConfig.java | 19 +++++++ .../workflow}/WorkflowDefinitionEdge.java | 2 +- .../WorkflowDefinitionEdgeConfig.java | 2 +- .../workflow}/WorkflowDefinitionEdgeSize.java | 2 +- .../workflow}/WorkflowDefinitionGraph.java | 2 +- .../workflow}/WorkflowDefinitionNode.java | 2 +- .../workflow}/WorkflowDefinitionPosition.java | 2 +- .../workflow}/WorkflowNodeGraph.java | 2 +- .../dto/nodeConfig/BaseEventNodeConfig.java | 12 ----- .../dto/nodeConfig/EndNodeConfig.java | 13 ----- .../dto/nodeConfig/NodeTypeSchemaConfig.java | 49 ------------------- .../dto/nodeConfig/StartNodeConfig.java | 13 ----- .../workflow/entity/WorkflowDefinition.java | 2 +- .../backend/workflow/enums/NodeTypeEnums.java | 2 +- .../workflow/hibernate/WorkflowGraphType.java | 2 +- .../impl/WorkflowDefinitionServiceImpl.java | 2 +- .../backend/workflow/util/BpmnConverter.java | 4 +- .../workflow/util/SchemaGenerator.java | 15 +++--- 31 files changed, 235 insertions(+), 127 deletions(-) create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/NodeDefinitionContainer.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseEventNodeLocalVariables.java rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{nodeConfig/BaseNodeConfig.java => definition/node/localVariables/BaseNodeLocalVariables.java} (85%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{nodeConfig/BaseTaskNodeConfig.java => definition/node/localVariables/BaseTaskNodeLocalVariables.java} (88%) create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/EndNodeLocalVariables.java rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{nodeConfig/GitCloneConfig.java => definition/node/localVariables/GitCloneLocalVariables.java} (95%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{nodeConfig/ScriptNodeConfig.java => definition/node/localVariables/ScriptNodeLocalVariables.java} (93%) create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/StartNodeLocalVariables.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ConditionalGatewayConfig.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ExclusiveGatewayConfig.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/GatewayConfig.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/InclusiveGatewayConfig.java create mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ParallelGatewayConfig.java rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionEdge.java (88%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionEdgeConfig.java (89%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionEdgeSize.java (78%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionGraph.java (83%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionNode.java (89%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowDefinitionPosition.java (84%) rename backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/{graph => definition/workflow}/WorkflowNodeGraph.java (98%) delete mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseEventNodeConfig.java delete mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/EndNodeConfig.java delete mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/NodeTypeSchemaConfig.java delete mode 100644 backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/StartNodeConfig.java diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/WorkflowDefinitionDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/WorkflowDefinitionDTO.java index 859a9571..0a6b4be2 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/WorkflowDefinitionDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/WorkflowDefinitionDTO.java @@ -2,11 +2,10 @@ package com.qqchen.deploy.backend.workflow.dto; import com.fasterxml.jackson.databind.JsonNode; import com.qqchen.deploy.backend.framework.dto.BaseDTO; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowDefinitionGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph; import com.qqchen.deploy.backend.workflow.enums.WorkflowCategoryEnum; import com.qqchen.deploy.backend.workflow.enums.WorkflowStatusEnums; import com.qqchen.deploy.backend.workflow.enums.WorkflowTriggerTypeEnum; -import jakarta.persistence.Column; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/NodeDefinitionContainer.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/NodeDefinitionContainer.java new file mode 100644 index 00000000..9e12f3e2 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/NodeDefinitionContainer.java @@ -0,0 +1,18 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.BaseEventNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.BaseNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.EndNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.StartNodeLocalVariables; +import lombok.Data; + +public class NodeDefinitionContainer extends BaseEventNodeLocalVariables { + + + + private BaseNodeLocalVariables + + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseEventNodeLocalVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseEventNodeLocalVariables.java new file mode 100644 index 00000000..2276a63f --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseEventNodeLocalVariables.java @@ -0,0 +1,11 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; + +import lombok.Data; + +/** + * 事件节点基础配置 + */ +@Data +public abstract class BaseEventNodeLocalVariables extends BaseNodeLocalVariables { + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseNodeLocalVariables.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseNodeConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseNodeLocalVariables.java index e581d03e..fb2e522b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseNodeConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseNodeLocalVariables.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import lombok.Data; @@ -7,7 +7,7 @@ import lombok.Data; * 事件节点基础配置 */ @Data -public class BaseNodeConfig { +public class BaseNodeLocalVariables { @SchemaProperty( title = "节点Code", diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseTaskNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseTaskNodeLocalVariables.java similarity index 88% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseTaskNodeConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseTaskNodeLocalVariables.java index 88680ad2..b0b7182b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseTaskNodeConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/BaseTaskNodeLocalVariables.java @@ -1,16 +1,13 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import lombok.Data; -import java.util.List; -import java.util.Map; - /** * 基础节点配置 */ @Data -public class BaseTaskNodeConfig extends BaseNodeConfig { +public class BaseTaskNodeLocalVariables extends BaseNodeLocalVariables { @SchemaProperty( title = "执行委派者", @@ -113,15 +110,6 @@ public class BaseTaskNodeConfig extends BaseNodeConfig { // private Boolean exclusive; // // /** -// * 自定义属性 -// */ -// @SchemaProperty( -// title = "自定义属性", -// description = "节点的自定义属性配置" -// ) -// private Map customProperties; -// -// /** // * 文档说明 // */ // @SchemaProperty( diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/EndNodeLocalVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/EndNodeLocalVariables.java new file mode 100644 index 00000000..13d4f8b1 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/EndNodeLocalVariables.java @@ -0,0 +1,13 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 结束节点配置 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class EndNodeLocalVariables extends BaseEventNodeLocalVariables { + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/GitCloneConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/GitCloneLocalVariables.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/GitCloneConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/GitCloneLocalVariables.java index 76d5b6aa..a827f050 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/GitCloneConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/GitCloneLocalVariables.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import lombok.Data; @@ -11,7 +11,7 @@ import java.util.Map; */ @Data @EqualsAndHashCode(callSuper = true) -public class GitCloneConfig extends BaseTaskNodeConfig { +public class GitCloneLocalVariables extends BaseTaskNodeLocalVariables { /** * 仓库URL */ diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/ScriptNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/ScriptNodeLocalVariables.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/ScriptNodeConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/ScriptNodeLocalVariables.java index c7493416..77c30972 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/ScriptNodeConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/ScriptNodeLocalVariables.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import lombok.Data; @@ -12,7 +12,7 @@ import java.util.Map; */ @Data @EqualsAndHashCode(callSuper = true) -public class ScriptNodeConfig extends BaseTaskNodeConfig { +public class ScriptNodeLocalVariables extends BaseTaskNodeLocalVariables { /** diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/StartNodeLocalVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/StartNodeLocalVariables.java new file mode 100644 index 00000000..b292efe1 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/StartNodeLocalVariables.java @@ -0,0 +1,13 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 开始节点配置 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class StartNodeLocalVariables extends BaseEventNodeLocalVariables { + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ConditionalGatewayConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ConditionalGatewayConfig.java new file mode 100644 index 00000000..a2fb2ef4 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ConditionalGatewayConfig.java @@ -0,0 +1,46 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.demo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * 基于条件的网关配置基类 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public abstract class ConditionalGatewayConfig extends GatewayConfig { + /** + * 条件分支列表 + */ + private List branches; + + /** + * 默认分支节点ID + */ + private String defaultNodeId; + + @Data + public static class ConditionalBranch { + /** + * 分支名称 + */ + private String name; + + /** + * 条件表达式 + */ + private String condition; + + /** + * 目标节点ID + */ + private String targetNodeId; + + /** + * 分支描述 + */ + private String description; + } +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ExclusiveGatewayConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ExclusiveGatewayConfig.java new file mode 100644 index 00000000..87dc5c37 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ExclusiveGatewayConfig.java @@ -0,0 +1,25 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.demo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.expression.ExpressionParser; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; + +import java.util.Collections; +import java.util.List; + +/** + * 排他网关配置 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ExclusiveGatewayConfig extends ConditionalGatewayConfig { + private final ExpressionParser expressionParser = new SpelExpressionParser(); + + @Override + public List getNextNodeIds(String context) { + return null; + } + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/GatewayConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/GatewayConfig.java new file mode 100644 index 00000000..f69d1fc2 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/GatewayConfig.java @@ -0,0 +1,35 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.demo; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import lombok.Data; + +import java.util.List; + +/** + * 网关配置基类 + */ +@Data +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = ExclusiveGatewayConfig.class, name = "EXCLUSIVE"), + @JsonSubTypes.Type(value = ParallelGatewayConfig.class, name = "PARALLEL"), + @JsonSubTypes.Type(value = InclusiveGatewayConfig.class, name = "INCLUSIVE") +}) +public abstract class GatewayConfig { + + /** + * 网关名称 + */ + private String name; + + /** + * 网关描述 + */ + private String description; + + /** + * 获取下一个节点IDs + */ + public abstract List getNextNodeIds(String context); +} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/InclusiveGatewayConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/InclusiveGatewayConfig.java new file mode 100644 index 00000000..c419f09c --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/InclusiveGatewayConfig.java @@ -0,0 +1,23 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.demo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.expression.ExpressionParser; +import org.springframework.expression.spel.standard.SpelExpressionParser; + +import java.util.List; + +/** + * 包容网关配置 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class InclusiveGatewayConfig extends ConditionalGatewayConfig { + + private final ExpressionParser expressionParser = new SpelExpressionParser(); + + @Override + public List getNextNodeIds(String context) { + return null; + } +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ParallelGatewayConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ParallelGatewayConfig.java new file mode 100644 index 00000000..05bacc9f --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/localVariables/demo/ParallelGatewayConfig.java @@ -0,0 +1,19 @@ +package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.demo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +/** + * 并行网关配置 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ParallelGatewayConfig extends GatewayConfig { + + @Override + public List getNextNodeIds(String context) { + return null; + } + +} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdge.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdge.java similarity index 88% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdge.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdge.java index ab4013e7..e179ce60 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdge.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdge.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import lombok.Data; import java.util.Map; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeConfig.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeConfig.java index f73903a7..785aba7b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeConfig.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeSize.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeSize.java similarity index 78% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeSize.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeSize.java index 427123b8..cdb0dafb 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionEdgeSize.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionEdgeSize.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionGraph.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionGraph.java similarity index 83% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionGraph.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionGraph.java index e554a045..fbb9ce19 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionGraph.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionGraph.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import lombok.Data; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionNode.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionNode.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionNode.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionNode.java index eec42d25..57ab8356 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionNode.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionNode.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionPosition.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionPosition.java similarity index 84% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionPosition.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionPosition.java index 161a5928..8661aa05 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowDefinitionPosition.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowDefinitionPosition.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowNodeGraph.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowNodeGraph.java similarity index 98% rename from backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowNodeGraph.java rename to backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowNodeGraph.java index 15f71d74..c1faf688 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/graph/WorkflowNodeGraph.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/workflow/WorkflowNodeGraph.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.workflow.dto.graph; +package com.qqchen.deploy.backend.workflow.dto.definition.workflow; import lombok.Data; import lombok.experimental.Accessors; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseEventNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseEventNodeConfig.java deleted file mode 100644 index bdc84487..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/BaseEventNodeConfig.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; - -import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; -import lombok.Data; - -/** - * 事件节点基础配置 - */ -@Data -public abstract class BaseEventNodeConfig extends BaseNodeConfig { - -} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/EndNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/EndNodeConfig.java deleted file mode 100644 index b820493a..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/EndNodeConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 结束节点配置 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class EndNodeConfig extends BaseEventNodeConfig { - -} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/NodeTypeSchemaConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/NodeTypeSchemaConfig.java deleted file mode 100644 index f5ce5757..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/NodeTypeSchemaConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; - -import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; -import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums; -import lombok.Data; - -/** - * 节点类型配置 - */ -@Data -public class NodeTypeSchemaConfig { - /** - * 节点类型代码 - */ - @SchemaProperty( - title = "节点类型代码", - description = "节点类型的唯一标识", - required = true - ) - private NodeTypeEnums code; - - /** - * 节点类型名称 - */ - @SchemaProperty( - title = "节点类型名称", - description = "节点类型的显示名称", - required = true - ) - private String name; - - /** - * 节点类型描述 - */ - @SchemaProperty( - title = "节点类型描述", - description = "节点类型的详细描述" - ) - private String description; - - /** - * 节点配置Schema - */ - @SchemaProperty( - title = "配置Schema", - description = "节点类型的配置Schema定义" - ) - private C configSchema; -} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/StartNodeConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/StartNodeConfig.java deleted file mode 100644 index 7e7b208f..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/nodeConfig/StartNodeConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.qqchen.deploy.backend.workflow.dto.nodeConfig; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 开始节点配置 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class StartNodeConfig extends BaseEventNodeConfig { - -} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/entity/WorkflowDefinition.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/entity/WorkflowDefinition.java index 6594e520..1d2c3d00 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/entity/WorkflowDefinition.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/entity/WorkflowDefinition.java @@ -2,7 +2,7 @@ package com.qqchen.deploy.backend.workflow.entity; import com.fasterxml.jackson.databind.JsonNode; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowDefinitionGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph; import com.qqchen.deploy.backend.workflow.enums.WorkflowCategoryEnum; import com.qqchen.deploy.backend.workflow.enums.WorkflowStatusEnums; import com.qqchen.deploy.backend.workflow.enums.WorkflowTriggerTypeEnum; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/enums/NodeTypeEnums.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/enums/NodeTypeEnums.java index 9b19033b..ee3b02ed 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/enums/NodeTypeEnums.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/enums/NodeTypeEnums.java @@ -1,7 +1,7 @@ package com.qqchen.deploy.backend.workflow.enums; import com.fasterxml.jackson.annotation.JsonValue; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowNodeGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph; import lombok.Getter; import java.util.Arrays; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/hibernate/WorkflowGraphType.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/hibernate/WorkflowGraphType.java index 9c6251ba..5ffe3f1d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/hibernate/WorkflowGraphType.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/hibernate/WorkflowGraphType.java @@ -3,7 +3,7 @@ package com.qqchen.deploy.backend.workflow.hibernate; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowDefinitionGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph; import org.hibernate.HibernateException; import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.usertype.UserType; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowDefinitionServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowDefinitionServiceImpl.java index 75243df0..a2e34518 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowDefinitionServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowDefinitionServiceImpl.java @@ -5,7 +5,7 @@ import com.qqchen.deploy.backend.workflow.dto.WorkflowCategoryDTO; import com.qqchen.deploy.backend.workflow.dto.WorkflowDefinitionDTO; import com.qqchen.deploy.backend.workflow.dto.WorkflowExecutionDTO; import com.qqchen.deploy.backend.workflow.dto.WorkflowTriggerTypeDTO; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowDefinitionGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph; import com.qqchen.deploy.backend.workflow.entity.WorkflowDefinition; import com.qqchen.deploy.backend.workflow.enums.WorkflowCategoryEnum; import com.qqchen.deploy.backend.workflow.enums.WorkflowNodeInstanceStatusEnums; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java index 84280c5b..a610a85d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java @@ -1,7 +1,9 @@ package com.qqchen.deploy.backend.workflow.util; import com.qqchen.deploy.backend.workflow.constants.WorkFlowConstants; -import com.qqchen.deploy.backend.workflow.dto.graph.*; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionEdge; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionNode; import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.BpmnAutoLayout; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/SchemaGenerator.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/SchemaGenerator.java index e02a2075..8d5a5fed 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/SchemaGenerator.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/SchemaGenerator.java @@ -5,8 +5,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; -import com.qqchen.deploy.backend.workflow.dto.graph.WorkflowNodeGraph; -import com.qqchen.deploy.backend.workflow.dto.nodeConfig.*; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.BaseNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.EndNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.ScriptNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables.StartNodeLocalVariables; +import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph; import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums; import java.lang.reflect.Field; @@ -28,11 +31,11 @@ public class SchemaGenerator { private static Class getConfigClassForNodeType(NodeTypeEnums nodeType) { switch (nodeType) { case START_EVENT: - return StartNodeConfig.class; + return StartNodeLocalVariables.class; case END_EVENT: - return EndNodeConfig.class; + return EndNodeLocalVariables.class; case SCRIPT_TASK: - return ScriptNodeConfig.class; + return ScriptNodeLocalVariables.class; // 其他节点类型的配置类 // case USER_TASK: // case SERVICE_TASK: @@ -43,7 +46,7 @@ public class SchemaGenerator { // TODO: 为其他节点类型添加对应的配置类 // return BaseNodeConfig.class; default: - return BaseNodeConfig.class; + return BaseNodeLocalVariables.class; } }