反序列化问题。
This commit is contained in:
parent
25e40d57d3
commit
05c7ff74f8
@ -2,6 +2,7 @@ package com.qqchen.deploy.backend.workflow.dto;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
|
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
|
||||||
|
import com.qqchen.deploy.backend.workflow.dto.definition.node.uiVariables.NodeUiVariables;
|
||||||
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph;
|
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.NodeCategoryEnums;
|
import com.qqchen.deploy.backend.workflow.enums.NodeCategoryEnums;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums;
|
import com.qqchen.deploy.backend.workflow.enums.NodeTypeEnums;
|
||||||
@ -33,13 +34,16 @@ public class WorkflowNodeDefinitionDTO extends BaseDTO {
|
|||||||
private NodeCategoryEnums category;
|
private NodeCategoryEnums category;
|
||||||
|
|
||||||
@Schema(description = "节点UI")
|
@Schema(description = "节点UI")
|
||||||
private WorkflowNodeGraph graphVariables;
|
private NodeUiVariables uiVariables;
|
||||||
|
|
||||||
@Schema(description = "节点属性d")
|
@Schema(description = "节点属性")
|
||||||
private JsonNode localVariables;
|
private JsonNode panelVariablesSchema;
|
||||||
|
|
||||||
|
@Schema(description = "节点环境变量")
|
||||||
|
private JsonNode localVariablesSchema;
|
||||||
|
|
||||||
@Schema(description = "节点表单")
|
@Schema(description = "节点表单")
|
||||||
private JsonNode fromVariables;
|
private JsonNode fromVariablesSchema;
|
||||||
|
|
||||||
@Schema(description = "是否启用")
|
@Schema(description = "是否启用")
|
||||||
private Boolean enabled;
|
private Boolean enabled;
|
||||||
|
|||||||
@ -12,6 +12,7 @@ public class BaseNodeLocalVariables {
|
|||||||
@SchemaProperty(
|
@SchemaProperty(
|
||||||
title = "委派者",
|
title = "委派者",
|
||||||
description = "委派者",
|
description = "委派者",
|
||||||
|
defaultValue = "com.qqchen.deploy.backend.workflow.delegate.ShellTaskDelegate",
|
||||||
required = true
|
required = true
|
||||||
)
|
)
|
||||||
private String delegate;
|
private String delegate;
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.qqchen.deploy.backend.workflow.entity;
|
|||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
||||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||||
|
import com.qqchen.deploy.backend.workflow.dto.definition.node.uiVariables.NodeUiVariables;
|
||||||
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph;
|
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowNodeGraph;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.NodeCategoryEnums;
|
import com.qqchen.deploy.backend.workflow.enums.NodeCategoryEnums;
|
||||||
import com.vladmihalcea.hibernate.type.json.JsonType;
|
import com.vladmihalcea.hibernate.type.json.JsonType;
|
||||||
@ -14,11 +15,6 @@ import jakarta.persistence.Table;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import org.hibernate.annotations.Type;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
/**
|
|
||||||
* 工作流节点定义
|
|
||||||
* 用于定义工作流中可用的节点类型,包含 Flowable 引擎配置和前端 X6 图形配置
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
@jakarta.persistence.Entity
|
@jakarta.persistence.Entity
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ -43,17 +39,20 @@ public class WorkflowNodeDefinition extends Entity<Long> {
|
|||||||
|
|
||||||
|
|
||||||
@Type(JsonType.class)
|
@Type(JsonType.class)
|
||||||
@Column(name = "graph_variables", columnDefinition = "text", nullable = false)
|
@Column(name = "ui_variables", columnDefinition = "text", nullable = false)
|
||||||
private WorkflowNodeGraph graphVariables;
|
private NodeUiVariables uiVariables;
|
||||||
|
|
||||||
|
|
||||||
@Type(JsonType.class)
|
@Type(JsonType.class)
|
||||||
@Column(name = "local_variables", columnDefinition = "text", nullable = false)
|
@Column(name = "panel_variables_schema", columnDefinition = "text", nullable = false)
|
||||||
private JsonNode localVariables;
|
private JsonNode panelVariablesSchema;
|
||||||
|
|
||||||
@Type(JsonType.class)
|
@Type(JsonType.class)
|
||||||
@Column(name = "from_variables", columnDefinition = "text", nullable = false)
|
@Column(name = "local_variables_schema", columnDefinition = "text", nullable = false)
|
||||||
private JsonNode fromVariables;
|
private JsonNode localVariablesSchema;
|
||||||
|
|
||||||
|
@Type(JsonType.class)
|
||||||
|
@Column(name = "from_variables_schema", columnDefinition = "text", nullable = false)
|
||||||
|
private JsonNode fromVariablesSchema;
|
||||||
|
|
||||||
@Column(nullable = false)
|
@Column(nullable = false)
|
||||||
private Boolean enabled = true;
|
private Boolean enabled = true;
|
||||||
|
|||||||
@ -118,7 +118,7 @@ public class WorkflowNodeDefinitionServiceImpl extends BaseServiceImpl<WorkflowN
|
|||||||
}
|
}
|
||||||
|
|
||||||
Class<?> uiVariables = nodeType.getUiVariables();
|
Class<?> uiVariables = nodeType.getUiVariables();
|
||||||
if (formVariables != null) {
|
if (uiVariables != null) {
|
||||||
definedDTO.setUiVariables(generateSchema(uiVariables));
|
definedDTO.setUiVariables(generateSchema(uiVariables));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +167,13 @@ public class WorkflowNodeDefinitionServiceImpl extends BaseServiceImpl<WorkflowN
|
|||||||
required.add(field.getName());
|
required.add(field.getName());
|
||||||
}
|
}
|
||||||
if (annotation.defaultValue().length() > 0) {
|
if (annotation.defaultValue().length() > 0) {
|
||||||
property.put("default", annotation.defaultValue());
|
if (jsonType.equals("integer")) {
|
||||||
|
property.put("default", Integer.parseInt(annotation.defaultValue()));
|
||||||
|
} else if (jsonType.equals("number")) {
|
||||||
|
property.put("default", Double.parseDouble(annotation.defaultValue()));
|
||||||
|
} else {
|
||||||
|
property.put("default", annotation.defaultValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理枚举
|
// 处理枚举
|
||||||
|
|||||||
@ -440,23 +440,24 @@ CREATE TABLE workflow_definition
|
|||||||
-- 创建工作流节点定义表
|
-- 创建工作流节点定义表
|
||||||
CREATE TABLE workflow_node_definition
|
CREATE TABLE workflow_node_definition
|
||||||
(
|
(
|
||||||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
node_type VARCHAR(50) NOT NULL COMMENT '节点类型',
|
node_type VARCHAR(50) NOT NULL COMMENT '节点类型',
|
||||||
node_code VARCHAR(50) NOT NULL COMMENT '节点编码',
|
node_code VARCHAR(50) NOT NULL COMMENT '节点编码',
|
||||||
node_name VARCHAR(100) NOT NULL COMMENT '节点名称',
|
node_name VARCHAR(100) NOT NULL COMMENT '节点名称',
|
||||||
description VARCHAR(500) COMMENT '节点描述',
|
description VARCHAR(500) COMMENT '节点描述',
|
||||||
category VARCHAR(50) NOT NULL COMMENT '节点分类',
|
category VARCHAR(50) NOT NULL COMMENT '节点分类',
|
||||||
graph_variables JSON NOT NULL COMMENT '节点UI',
|
ui_variables JSON NOT NULL COMMENT '节点UI',
|
||||||
local_variables JSON NOT NULL COMMENT '节点属性',
|
panel_variables_schema JSON NOT NULL COMMENT '节点属性',
|
||||||
from_variables JSON COMMENT '节点表单',
|
local_variables_schema JSON NOT NULL COMMENT '节点环境变量',
|
||||||
enabled BOOLEAN NOT NULL DEFAULT TRUE COMMENT '是否启用',
|
from_variables_schema JSON COMMENT '节点表单',
|
||||||
|
enabled BOOLEAN NOT NULL DEFAULT TRUE COMMENT '是否启用',
|
||||||
|
|
||||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||||
create_by VARCHAR(50) NOT NULL COMMENT '创建人',
|
create_by VARCHAR(50) NOT NULL COMMENT '创建人',
|
||||||
update_time DATETIME NOT NULL COMMENT '更新时间',
|
update_time DATETIME NOT NULL COMMENT '更新时间',
|
||||||
update_by VARCHAR(50) NOT NULL COMMENT '更新人',
|
update_by VARCHAR(50) NOT NULL COMMENT '更新人',
|
||||||
version INT NOT NULL DEFAULT 1 COMMENT '版本号',
|
version INT NOT NULL DEFAULT 1 COMMENT '版本号',
|
||||||
deleted BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否删除',
|
deleted BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否删除',
|
||||||
PRIMARY KEY (id),
|
PRIMARY KEY (id),
|
||||||
UNIQUE KEY uk_node_type (node_type)
|
UNIQUE KEY uk_node_type (node_type)
|
||||||
) ENGINE = InnoDB
|
) ENGINE = InnoDB
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user