From e3bc3918879b08833ffc4fd86e2c6e51fa44ef9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 11 Sep 2026 17:46:11 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=96=B0=E5=A2=9E=20warmflow=20=E6=BA=90?= =?UTF-8?q?=E7=A0=81=E7=BA=A7=E5=AE=9A=E5=88=B6=E5=8C=96=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dromara/warm/flow/dto/NodeJson.java | 4 ---- .../main/java/org/dromara/warm/flow/entity/FlowNode.java | 8 -------- .../dromara/warm/flow/expression/SafeMethodResolver.java | 7 ++----- .../org/dromara/warm/flow/expression/SafeTypeLocator.java | 3 +-- .../java/org/dromara/warm/flow/expression/SpelHelper.java | 3 +-- .../java/org/dromara/warm/flow/service/DefService.java | 7 ++----- .../org/dromara/warm/flow/service/WarmServiceImpl.java | 4 ++-- .../java/org/dromara/warm/flow/utils/FlowConfigUtil.java | 6 ++---- script/sql/oracle/oracle_ry_workflow.sql | 2 -- script/sql/postgres/postgres_ry_workflow.sql | 2 -- script/sql/ry_workflow.sql | 1 - script/sql/sqlserver/sqlserver_ry_workflow.sql | 8 -------- 12 files changed, 10 insertions(+), 45 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/dto/NodeJson.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/dto/NodeJson.java index 292e3d5e3..f1cdf5c01 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/dto/NodeJson.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/dto/NodeJson.java @@ -49,10 +49,6 @@ public class NodeJson { * 流程节点名称 */ private String nodeName; - /** - * 流程节点版本 - */ - private String version; /** * 权限标识(权限类型:权限标识,可以多个,用@@隔开) */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/entity/FlowNode.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/entity/FlowNode.java index 4d5a53695..1f6dcf132 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/entity/FlowNode.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/entity/FlowNode.java @@ -98,13 +98,6 @@ public class FlowNode implements RootEntity { * 流程节点坐标 */ private String coordinate; - /** - * 版本 - * - * @deprecated 下个版本废弃 - */ - @Deprecated - private String version; /** * 任意结点跳转 */ @@ -146,7 +139,6 @@ public class FlowNode implements RootEntity { .setNodeRatio(this.getNodeRatio()) .setPermissionFlag(this.getPermissionFlag()) .setCoordinate(this.getCoordinate()) - .setVersion(this.getVersion()) .setAnyNodeSkip(this.getAnyNodeSkip()) .setListenerType(this.getListenerType()) .setListenerPath(this.getListenerPath()) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeMethodResolver.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeMethodResolver.java index bc249d984..8996681f0 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeMethodResolver.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeMethodResolver.java @@ -6,8 +6,6 @@ import org.springframework.expression.EvaluationContext; import org.springframework.expression.MethodExecutor; import org.springframework.expression.MethodResolver; import org.springframework.expression.spel.support.DataBindingMethodResolver; -import org.springframework.lang.NonNull; -import org.springframework.lang.Nullable; import java.util.List; import java.util.Set; @@ -35,10 +33,9 @@ public class SafeMethodResolver implements MethodResolver { "getDeclaredMethod" ); - @Nullable @Override - public MethodExecutor resolve(@NonNull EvaluationContext context, @NonNull Object targetObject - , @NonNull String name, @NonNull List argumentTypes) throws AccessException { + public MethodExecutor resolve(EvaluationContext context, Object targetObject + , String name, List argumentTypes) throws AccessException { if (DANGEROUS_METHODS.contains(name)) { throw new AccessException("不允许调用方法:" + name); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeTypeLocator.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeTypeLocator.java index b75de6956..235c5d64d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeTypeLocator.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SafeTypeLocator.java @@ -21,7 +21,6 @@ import org.dromara.warm.flow.exception.FlowException; import org.springframework.expression.TypeLocator; import org.springframework.expression.spel.support.StandardTypeLocator; -import org.springframework.lang.NonNull; import java.util.HashSet; import java.util.Set; @@ -83,7 +82,7 @@ public class SafeTypeLocator implements TypeLocator { } @Override - public Class findType(@NonNull String typeName) { + public Class findType(String typeName) { if (StrUtil.isEmpty(typeName)) { throw new FlowException("Type name cannot be null or empty"); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SpelHelper.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SpelHelper.java index 8bbcf3ebe..a40ce437a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SpelHelper.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/expression/SpelHelper.java @@ -28,7 +28,6 @@ import org.springframework.expression.ParserContext; import org.springframework.expression.common.TemplateParserContext; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; -import org.springframework.lang.NonNull; import java.util.Map; @@ -93,7 +92,7 @@ public class SpelHelper implements ApplicationContextAware { } @Override - public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (SpelHelper.applicationContext == null) { SpelHelper.applicationContext = applicationContext; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/DefService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/DefService.java index f41600709..dddc6aa5a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/DefService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/DefService.java @@ -90,9 +90,6 @@ public class DefService extends WarmServiceImpl { public FlowDefinition insertFlow(FlowDefinition definition, List nodeList, List skipList) { definition.setVersion(getNewVersion(definition)); - for (FlowNode node : nodeList) { - node.setVersion(definition.getVersion()); - } FlowEngine.defService().save(definition); FlowEngine.nodeService().saveBatch(nodeList); FlowEngine.skipService().saveBatch(skipList); @@ -257,7 +254,7 @@ public class DefService extends WarmServiceImpl { List skipList = StreamUtils.toList(FlowEngine.skipService().getByDefId(id), FlowSkip::copy); FlowEngine.dataFillHandler().idFill(definition); - nodeList.forEach(node -> node.setDefinitionId(definition.getId()).setVersion(definition.getVersion())); + nodeList.forEach(node -> node.setDefinitionId(definition.getId())); FlowEngine.nodeService().saveBatch(nodeList); skipList.forEach(skip -> skip.setDefinitionId(definition.getId())); @@ -342,7 +339,7 @@ public class DefService extends WarmServiceImpl { // 便利一个流程中的各个节点 int startNum = 0; for (FlowNode node : allNodes) { - FlowConfigUtil.initNodeAndCondition(node, definition.getId(), definition.getVersion()); + FlowConfigUtil.initNodeAndCondition(node, definition.getId()); startNum = FlowConfigUtil.checkStartAndSame(node, startNum, flowName, nodeCodeSet); } AssertUtil.isTrue(startNum == 0, "[" + flowName + "]" + ExceptionCons.LOST_START_NODE); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/WarmServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/WarmServiceImpl.java index 86e9eddab..9a182783f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/WarmServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/service/WarmServiceImpl.java @@ -46,7 +46,7 @@ public abstract class WarmServiceImpl implements IWarmServ @Override public List getByIds(Collection ids) { - return getMapper().selectBatchIds(ids); + return getMapper().selectByIds(ids); } @Override @@ -89,7 +89,7 @@ public abstract class WarmServiceImpl implements IWarmServ @Override public boolean removeByIds(Collection ids) { - return SqlHelper.retBool(getMapper().deleteBatchIds(ids)); + return SqlHelper.retBool(getMapper().deleteByIds(ids)); } @Override diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/utils/FlowConfigUtil.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/utils/FlowConfigUtil.java index d60ae0f15..cb1ff4896 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/utils/FlowConfigUtil.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/warm/flow/utils/FlowConfigUtil.java @@ -66,7 +66,7 @@ public class FlowConfigUtil { Set nodeCodeSet = new HashSet<>(); // 遍历一个流程中的各个节点 for (FlowNode node : nodeList) { - initNodeAndCondition(node, definition.getId(), definition.getVersion()); + initNodeAndCondition(node, definition.getId()); startNum = checkStartAndSame(node, startNum, flowName, nodeCodeSet); allNodes.add(node); allSkips.addAll(node.getSkipList()); @@ -136,9 +136,8 @@ public class FlowConfigUtil { * * @param node node * @param definitionId definitionId - * @param version version */ - public static void initNodeAndCondition(FlowNode node, Long definitionId, String version) { + public static void initNodeAndCondition(FlowNode node, Long definitionId) { String nodeName = node.getNodeName(); String nodeCode = node.getNodeCode(); List skipList = node.getSkipList(); @@ -147,7 +146,6 @@ public class FlowConfigUtil { } AssertUtil.isEmpty(nodeCode, "[" + nodeName + "]" + ExceptionCons.LOST_NODE_CODE); - node.setVersion(version); node.setDefinitionId(definitionId); // 中间节点的集合, 跳转类型和目标节点不能重复 diff --git a/script/sql/oracle/oracle_ry_workflow.sql b/script/sql/oracle/oracle_ry_workflow.sql index dbbff0708..d60ae1dac 100644 --- a/script/sql/oracle/oracle_ry_workflow.sql +++ b/script/sql/oracle/oracle_ry_workflow.sql @@ -61,7 +61,6 @@ create table FLOW_NODE LISTENER_PATH VARCHAR2(500), FORM_CUSTOM VARCHAR2(1) default 'N', FORM_PATH VARCHAR2(100), - VERSION VARCHAR2(20), CREATE_TIME DATE, CREATE_BY VARCHAR2(64) default '', UPDATE_TIME DATE, @@ -86,7 +85,6 @@ comment on column FLOW_NODE.LISTENER_TYPE is '监听器类型'; comment on column FLOW_NODE.LISTENER_PATH is '监听器路径'; comment on column FLOW_NODE.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)'; comment on column FLOW_NODE.FORM_PATH is '审批表单路径'; -comment on column FLOW_NODE.VERSION is '版本'; comment on column FLOW_NODE.CREATE_TIME is '创建时间'; comment on column FLOW_NODE.CREATE_BY is '创建人'; comment on column FLOW_NODE.UPDATE_TIME is '更新时间'; diff --git a/script/sql/postgres/postgres_ry_workflow.sql b/script/sql/postgres/postgres_ry_workflow.sql index af0cbf3a4..ce3ab0d76 100644 --- a/script/sql/postgres/postgres_ry_workflow.sql +++ b/script/sql/postgres/postgres_ry_workflow.sql @@ -56,7 +56,6 @@ CREATE TABLE flow_node listener_path varchar(400) NULL, form_custom bpchar(1) NULL DEFAULT 'N':: character varying, form_path varchar(100) NULL, - "version" varchar(20) NOT NULL, create_time timestamp NULL, create_by varchar(64) NULL DEFAULT '':: character varying, update_time timestamp NULL, @@ -80,7 +79,6 @@ COMMENT ON COLUMN flow_node.listener_type IS '监听器类型'; COMMENT ON COLUMN flow_node.listener_path IS '监听器路径'; COMMENT ON COLUMN flow_node.form_custom IS '审批表单是否自定义(Y是 N否)'; COMMENT ON COLUMN flow_node.form_path IS '审批表单路径'; -COMMENT ON COLUMN flow_node."version" IS '版本'; COMMENT ON COLUMN flow_node.create_time IS '创建时间'; COMMENT ON COLUMN flow_node.create_by IS '创建人'; COMMENT ON COLUMN flow_node.update_time IS '更新时间'; diff --git a/script/sql/ry_workflow.sql b/script/sql/ry_workflow.sql index e6f7f4da3..6eee0be27 100644 --- a/script/sql/ry_workflow.sql +++ b/script/sql/ry_workflow.sql @@ -39,7 +39,6 @@ CREATE TABLE `flow_node` `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', - `version` varchar(20) NOT NULL COMMENT '版本', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', diff --git a/script/sql/sqlserver/sqlserver_ry_workflow.sql b/script/sql/sqlserver/sqlserver_ry_workflow.sql index a0923cbab..aa592f2b4 100644 --- a/script/sql/sqlserver/sqlserver_ry_workflow.sql +++ b/script/sql/sqlserver/sqlserver_ry_workflow.sql @@ -173,7 +173,6 @@ CREATE TABLE flow_node ( listener_path nvarchar(400) NULL, form_custom nchar(1) DEFAULT('N') NULL, form_path nvarchar(100) NULL, - version nvarchar(20) NOT NULL, create_time datetime2(7) NULL, create_by nvarchar(64) NULL, update_time datetime2(7) NULL, @@ -278,13 +277,6 @@ EXEC sp_addextendedproperty 'COLUMN', N'form_path' GO -EXEC sp_addextendedproperty -'MS_Description', N'版本', -'SCHEMA', N'dbo', -'TABLE', N'flow_node', -'COLUMN', N'version' -GO - EXEC sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', N'dbo',