diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/AdviceStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/AdviceStrategy.java index beab7559..b4206810 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/AdviceStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/AdviceStrategy.java @@ -1,7 +1,7 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; @@ -9,6 +9,7 @@ * 节点审批意见策略 */ @Data +@NoArgsConstructor public class AdviceStrategy extends BaseStrategy { /** @@ -20,9 +21,6 @@ public class AdviceStrategy extends BaseStrategy { */ private boolean signable; - public AdviceStrategy() { - super(RandomUtils.generateStringId()); - } public static AdviceStrategy defaultStrategy() { AdviceStrategy strategy = new AdviceStrategy(); diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/BaseStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/BaseStrategy.java index 118ba0d4..f54d410b 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/BaseStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/BaseStrategy.java @@ -1,50 +1,25 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; -import lombok.Setter; import lombok.SneakyThrows; import java.util.HashMap; import java.util.Map; - +/** + * 基础策略 + */ public abstract class BaseStrategy implements INodeStrategy { - @Setter - private String id; - - public BaseStrategy(String id) { - this.id = id; - } - @Override public Map toMap() { Map map = new HashMap<>(); map.put(TYPE_KEY, strategyType()); - map.put("id", getId()); return map; } - @Override - public String getId() { - return id; - } - - - @Override - public boolean equals(Object obj) { - if (obj instanceof BaseStrategy strategy) { - String id = this.getId(); - return strategy.getId().equals(id); - } - return super.equals(obj); - } - @SneakyThrows public static T fromMap(Map map, Class clazz) { if (map == null || map.isEmpty()) return null; - T strategy = clazz.getDeclaredConstructor().newInstance(); - strategy.setId((String) map.get("id")); - return strategy; + return clazz.getDeclaredConstructor().newInstance(); } } diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ErrorTriggerStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ErrorTriggerStrategy.java index d97a6ac0..6c7ef92b 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ErrorTriggerStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ErrorTriggerStrategy.java @@ -3,19 +3,18 @@ import com.codingapi.flow.error.ErrorThrow; import com.codingapi.flow.script.node.ErrorTriggerScript; import com.codingapi.flow.session.FlowSession; -import com.codingapi.flow.utils.RandomUtils; +import lombok.NoArgsConstructor; import java.util.Map; +/** + * 错误触发策略配置(没有匹配到人时) + */ +@NoArgsConstructor public class ErrorTriggerStrategy extends BaseStrategy { private ErrorTriggerScript errorTriggerScript; - - public ErrorTriggerStrategy() { - super(RandomUtils.generateStringId()); - } - public void setErrorTriggerScript(String script) { this.errorTriggerScript = new ErrorTriggerScript(script); } diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/FormFieldPermissionStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/FormFieldPermissionStrategy.java index c0db0dfe..74b3f1a8 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/FormFieldPermissionStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/FormFieldPermissionStrategy.java @@ -1,17 +1,18 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.form.permission.FormFieldPermission; import com.codingapi.flow.builder.NodeMapBuilder; -import com.codingapi.flow.script.node.ErrorTriggerScript; -import com.codingapi.flow.utils.RandomUtils; +import com.codingapi.flow.form.permission.FormFieldPermission; import lombok.Data; import java.util.ArrayList; import java.util.List; import java.util.Map; +/** + * 表单字段权限策略配置 + */ @Data -public class FormFieldPermissionStrategy extends BaseStrategy { +public class FormFieldPermissionStrategy extends BaseStrategy { /** * 表单字段权限 @@ -20,12 +21,10 @@ public class FormFieldPermissionStrategy extends BaseStrategy { public FormFieldPermissionStrategy() { - super(RandomUtils.generateStringId()); this.fieldPermissions = new ArrayList<>(); } public FormFieldPermissionStrategy(List fieldPermissions) { - super(RandomUtils.generateStringId()); this.fieldPermissions = fieldPermissions; } @@ -48,10 +47,8 @@ public static FormFieldPermissionStrategy fromMap(Map map) { return strategy; } - public static ErrorTriggerStrategy defaultStrategy() { - ErrorTriggerStrategy strategy = new ErrorTriggerStrategy(); - strategy.setErrorTriggerScript(ErrorTriggerScript.SCRIPT_NODE_DEFAULT); - return strategy; + public static FormFieldPermissionStrategy defaultStrategy() { + return new FormFieldPermissionStrategy(); } diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/INodeStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/INodeStrategy.java index 2be69f6b..b466b9f0 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/INodeStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/INodeStrategy.java @@ -2,13 +2,15 @@ import java.util.Map; +/** + * 节点配置策略 + */ public interface INodeStrategy { String TYPE_KEY = "strategyType"; Map toMap(); - String getId(); default String strategyType() { return this.getClass().getSimpleName(); diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/MultiOperatorAuditStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/MultiOperatorAuditStrategy.java index e0c6de47..cd440413 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/MultiOperatorAuditStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/MultiOperatorAuditStrategy.java @@ -1,14 +1,15 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; /** - * 多人审批策略 + * 多人审批策略配置 */ @Data +@NoArgsConstructor public class MultiOperatorAuditStrategy extends BaseStrategy { private Type type; @@ -26,9 +27,6 @@ public enum Type { RANDOM_ONE } - public MultiOperatorAuditStrategy() { - super(RandomUtils.generateStringId()); - } @Override public void copy(INodeStrategy target) { diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeStrategyFactory.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeStrategyFactory.java index ab2afbf1..26f81e94 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeStrategyFactory.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeStrategyFactory.java @@ -6,6 +6,9 @@ import java.lang.reflect.Method; import java.util.Map; +/** + * 节点策略配置工厂 + */ public class NodeStrategyFactory { @Getter diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeTitleStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeTitleStrategy.java index 3c44ba83..3ac05caf 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeTitleStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/NodeTitleStrategy.java @@ -2,10 +2,14 @@ import com.codingapi.flow.script.node.NodeTitleScript; import com.codingapi.flow.session.FlowSession; -import com.codingapi.flow.utils.RandomUtils; +import lombok.NoArgsConstructor; import java.util.Map; +/** + * 节点标题策略配置 + */ +@NoArgsConstructor public class NodeTitleStrategy extends BaseStrategy { /** @@ -13,9 +17,6 @@ public class NodeTitleStrategy extends BaseStrategy { */ private NodeTitleScript nodeTitleScript; - public NodeTitleStrategy() { - super(RandomUtils.generateStringId()); - } @Override public void copy(INodeStrategy target) { diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/OperatorLoadStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/OperatorLoadStrategy.java index 56f97331..f47b7403 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/OperatorLoadStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/OperatorLoadStrategy.java @@ -3,10 +3,14 @@ import com.codingapi.flow.node.manager.OperatorManager; import com.codingapi.flow.script.node.OperatorLoadScript; import com.codingapi.flow.session.FlowSession; -import com.codingapi.flow.utils.RandomUtils; +import lombok.NoArgsConstructor; import java.util.Map; +/** + * 操作人配置策略 + */ +@NoArgsConstructor public class OperatorLoadStrategy extends BaseStrategy{ /** @@ -14,12 +18,7 @@ public class OperatorLoadStrategy extends BaseStrategy{ */ private OperatorLoadScript operatorLoadScript; - public OperatorLoadStrategy() { - super(RandomUtils.generateStringId()); - } - public OperatorLoadStrategy(String script) { - super(RandomUtils.generateStringId()); this.operatorLoadScript = new OperatorLoadScript(script); } diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/RecordMergeStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/RecordMergeStrategy.java index 2814664d..c23922df 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/RecordMergeStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/RecordMergeStrategy.java @@ -1,22 +1,19 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; /** - * 记录合并策略 + * 记录合并策略配置 */ @Data +@NoArgsConstructor public class RecordMergeStrategy extends BaseStrategy { private boolean mergeable; - public RecordMergeStrategy() { - super(RandomUtils.generateStringId()); - } - @Override public void copy(INodeStrategy target) { this.mergeable = ((RecordMergeStrategy)target).mergeable; diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ResubmitStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ResubmitStrategy.java index 3c0487f1..93d4e37b 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ResubmitStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/ResubmitStrategy.java @@ -2,13 +2,15 @@ import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; /** - * 重新提交策略 + * 重新提交策略配置 */ @Data +@NoArgsConstructor public class ResubmitStrategy extends BaseStrategy { private Type type; @@ -20,9 +22,6 @@ public enum Type { CHAIN, } - public ResubmitStrategy() { - super(RandomUtils.generateStringId()); - } @Override public void copy(INodeStrategy target) { diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/SameOperatorAuditStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/SameOperatorAuditStrategy.java index d70b4d6a..1569fb04 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/SameOperatorAuditStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/SameOperatorAuditStrategy.java @@ -1,14 +1,15 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; /** - * 提交人与审批人一致 + * 提交人与审批人一致配置 */ @Data +@NoArgsConstructor public class SameOperatorAuditStrategy extends BaseStrategy { private Type type; @@ -20,9 +21,6 @@ public enum Type { MANUAL_PASS, } - public SameOperatorAuditStrategy() { - super(RandomUtils.generateStringId()); - } @Override public void copy(INodeStrategy target) { diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/TimeoutStrategy.java b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/TimeoutStrategy.java index 4f4440d0..0b918b94 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/TimeoutStrategy.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/strategy/TimeoutStrategy.java @@ -1,14 +1,15 @@ package com.codingapi.flow.strategy; -import com.codingapi.flow.utils.RandomUtils; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Map; /** - * 超时策略 + * 超时策略配置 */ @Data +@NoArgsConstructor public class TimeoutStrategy extends BaseStrategy { // 默认超时时间,默认1天 @@ -26,10 +27,6 @@ public enum Type { REJECT, } - public TimeoutStrategy() { - super(RandomUtils.generateStringId()); - } - @Override public void copy(INodeStrategy target) {