From c387eee91b8cb96c88957f4f6cc83945edb0d123 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 28 Aug 2025 17:33:53 +0800 Subject: [PATCH 01/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/AdminDataSource.java | 26 +++++++- .../workflow/common/enums/AdminRoleType.java | 25 +++++++- .../workflow/common/enums/AdminTypeEnum.java | 26 +++++++- .../common/enums/ApprovalMethodEnum.java | 50 +++++++-------- .../enums/ApproverEmptyHandleTypeEnum.java | 29 ++++++--- .../common/enums/ApproverScopeEnum.java | 34 ++++++---- .../common/enums/ApproverSpecifyEnum.java | 44 ++++++------- .../enums/ApproverSpecifyRangeEnum.java | 34 ++++++---- .../enums/ApproverSpecifyRangeUnitEnum.java | 28 ++++++--- .../common/enums/AttachmentTypeEnum.java | 34 ++++++---- .../common/enums/AutoApprovalTypeEnum.java | 12 +++- .../workflow/common/enums/BpmnButtonEnum.java | 37 ++++++----- .../common/enums/BpmnCountersignTypeEnum.java | 28 +++++++-- .../common/enums/BpmnFlowNodeMode.java | 46 +++++++------- .../common/enums/BpmnFlowNodeType.java | 56 +++++++---------- .../workflow/common/enums/BpmnNoticeEnum.java | 26 ++++++-- .../enums/BpmnProcessInstanceResultEnum.java | 38 +++++------ .../enums/BpmnProcessTaskResultEnum.java | 22 +++++++ .../common/enums/BpmnReminderType.java | 37 ++++++----- .../workflow/common/enums/BpmnSignType.java | 26 +++++--- .../common/enums/BusinessTypeEnum.java | 37 ++++++++--- .../common/enums/ButtonVisibleScopeEnum.java | 25 +++++++- .../common/enums/CarbonCopyObjectType.java | 63 ++++++++----------- .../common/enums/CooperateShipTypeEnum.java | 20 +++++- .../common/enums/ExtModelStateFieldEnum.java | 25 +++++++- .../workflow/common/enums/FileTypeEnum.java | 35 +++++++---- .../approverscope/UnknownProcessor.java | 13 ++++ 27 files changed, 585 insertions(+), 291 deletions(-) create mode 100644 workflow-engine-core/src/main/java/cn/axzo/workflow/core/deletage/approverscope/UnknownProcessor.java diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java index 71b281745..7324f8818 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java @@ -1,17 +1,41 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; +import java.util.Arrays; + @Getter public enum AdminDataSource { SYSTEM_ENTRY("systemEntry", "系统录入"), - USER_ENTRY("userEntry", "用户手动录入"); + USER_ENTRY("userEntry", "用户手动录入"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"), + ; private final String type; private final String desc; + @JsonValue + public String getType() { + return type; + } + AdminDataSource(String type, String desc) { this.type = type; this.desc = desc; } + + @JsonCreator + public static AdminDataSource fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(AdminDataSource.values()) + .filter(v -> v.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java index 4fa15948f..2f2dff134 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java @@ -1,19 +1,42 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; +import java.util.Arrays; + @Getter public enum AdminRoleType { ORGANIZATION_ADMIN("organizationAdmin", "单位超管"), ORG_WORKSPACE_ADMIN("organizationWorkspaceAdmin", "项目内单位负责人"), WORKSPACE_ADMIN("workspaceAdmin", "项目超管"), - OTHER("other", "其他用户"); + OTHER("other", "其他用户"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"); private final String type; private final String desc; + @JsonValue + public String getType() { + return type; + } + AdminRoleType(String type, String desc) { this.type = type; this.desc = desc; } + + @JsonCreator + public static AdminRoleType fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(AdminRoleType.values()) + .filter(v -> v.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java index 69bae7fe2..e1f716e74 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java @@ -1,20 +1,44 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; +import java.util.Arrays; + /** * 审批管理员类型 */ @Getter public enum AdminTypeEnum { SUPER_ADMIN("super_admin", "超级管理员"), - COMMON_ADMIN("common_admin", "普通管理员"); + COMMON_ADMIN("common_admin", "普通管理员"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"), + ; private final String type; private final String desc; + @JsonValue + public String getType() { + return type; + } + AdminTypeEnum(String type, String desc) { this.type = type; this.desc = desc; } + + @JsonCreator + public static AdminTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(AdminTypeEnum.values()) + .filter(v -> v.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java index 3f5d2052f..e15f94107 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 审批方式枚举 @@ -9,6 +13,7 @@ import java.util.Objects; * @author wangli * @since 2023/11/16 10:10 */ +@Getter public enum ApprovalMethodEnum { human("human", "人工审批", ""), @@ -19,12 +24,12 @@ public enum ApprovalMethodEnum { nobody("nobody", "不设置审批人", "[仅业务节点可能有该值]"), bizSpecify("bizSpecify", "业务指定审批人", "[仅业务节点可能有该值]"), transferToAdmin("transferToAdmin", "转办给管理员", "该枚举仅日志处理使用"), - unknown("unknown", "未知", "兜底") - ; + @JsonEnumDefaultValue + unknown("unknown", "未知", "兜底"); - private String type; - private String desc; - private String remark; + private final String type; + private final String desc; + private final String remark; ApprovalMethodEnum(String type, String desc, String remark) { this.type = type; @@ -32,34 +37,23 @@ public enum ApprovalMethodEnum { this.remark = remark; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; + @JsonCreator + public static ApprovalMethodEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } public static ApprovalMethodEnum valueOfType(String type) { - return Arrays.stream(ApprovalMethodEnum.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + return fromValue(type); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java index 510aad5a4..185c5cdaf 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java @@ -1,17 +1,27 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 审批人为空时的处理方式枚举 * * @author wangli * @since 2023/11/16 10:22 */ +@Getter public enum ApproverEmptyHandleTypeEnum { autoPassed("autoPassed", "自动通过"), autoRejection("autoRejection", "自动驳回"), autoSkipped("autoSkipped", "自动跳过"), transferToAdmin("transferToAdmin", "转交给管理员"), specifyAssignee("specifyAssignee", "指定审批人"), + @JsonEnumDefaultValue + unknown("unknown", "未知"), ; private String type; private String desc; @@ -21,19 +31,20 @@ public enum ApproverEmptyHandleTypeEnum { this.desc = desc; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; + @JsonCreator + public static ApproverEmptyHandleTypeEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java index bde13f062..05786adf9 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java @@ -1,5 +1,10 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; import java.util.Objects; @@ -9,12 +14,15 @@ import java.util.Objects; * @author wangli * @since 2023/11/16 10:14 */ +@Getter public enum ApproverScopeEnum { entWorkspace("entWorkspace", "企业工作台", "entWorkspaceProcessor"), govWorkspace("govWorkspace", "政务工作台", "govWorkspaceProcessor"), - projectWorkspace("projectWorkspace", "项目工作台","projectWorkspaceProcessor"), - preTaskUser("preTaskUser", "上节点审批人所在单位","preTaskUserProcessor"), - preTaskSpecified("preTaskSpecified", "上节点审批人指定","preTaskUserProcessor"), + projectWorkspace("projectWorkspace", "项目工作台", "projectWorkspaceProcessor"), + preTaskUser("preTaskUser", "上节点审批人所在单位", "preTaskUserProcessor"), + preTaskSpecified("preTaskSpecified", "上节点审批人指定", "preTaskUserProcessor"), + @JsonEnumDefaultValue + unknown("unknown", "未知", "unknownProcessor"), ; private final String type; private final String desc; @@ -26,20 +34,20 @@ public enum ApproverScopeEnum { this.processor = processor; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - - public String getProcessor() { - return processor; - } - - public boolean selectWorkspace() { - return this == ApproverScopeEnum.projectWorkspace; + @JsonCreator + public static ApprovalMethodEnum fromValue(String value) { + if (value == null) { + return ApprovalMethodEnum.unknown; + } + return Arrays.stream(ApprovalMethodEnum.values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(ApprovalMethodEnum.unknown); } public static ApproverScopeEnum valueOfProcessor(String processor) { diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java index 5230c5f90..c93a0e1f2 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java @@ -1,11 +1,19 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 审批人指定枚举 * * @author wangli * @since 2023/11/16 10:16 */ +@Getter public enum ApproverSpecifyEnum { position("position", "指定岗位", 1), @@ -28,11 +36,13 @@ public enum ApproverSpecifyEnum { initiatorLeader_v2("initiatorLeader_v2", "发起人主管", 2), fixedPerson_v2("fixedPerson_v2", "固定人员", 2), preAllNodApprover_v2("preAllNodeApprover_v2", "所有前序节点审批人", 2), + @JsonEnumDefaultValue + unknown("unknown", "未知", 1), ; - private String type; - private String desc; - private Integer version; + private final String type; + private final String desc; + private final Integer version; ApproverSpecifyEnum(String type, String desc, Integer version) { this.type = type; @@ -40,27 +50,19 @@ public enum ApproverSpecifyEnum { this.version = version; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public Integer getVersion() { - return version; - } - - public void setVersion(Integer version) { - this.version = version; + @JsonCreator + public static ApproverSpecifyEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java index c026ded21..6559bc3f7 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java @@ -1,11 +1,19 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 审批人指定的二次范围限定枚举 * * @author wangli * @since 2025-08-13 14:32 */ +@Getter public enum ApproverSpecifyRangeEnum { within_the_project("within_the_project", "项目内岗位"), @@ -13,29 +21,31 @@ public enum ApproverSpecifyRangeEnum { specified_org("specified_org", "审批单指定的末级组织"), initiator("initiator", "审批单发起人"), pre_node_approver("pre_node_approver", "上节点审批人"), + @JsonEnumDefaultValue + unknown("unknown", "未知"), ; - private String type; - private String desc; + private final String type; + private final String desc; ApproverSpecifyRangeEnum(String type, String desc) { this.type = type; this.desc = desc; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; + @JsonCreator + public static ApproverSpecifyRangeEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java index 889db273b..42d76329f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java @@ -1,11 +1,19 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 审批人指定的范围“单位”枚举 * * @author wangli * @since 2025-08-13 15:05 */ +@Getter public enum ApproverSpecifyRangeUnitEnum { in_project("in_project", "项目内", null), in_ent("in_ent", "企业内", null), @@ -14,8 +22,8 @@ public enum ApproverSpecifyRangeUnitEnum { in_group_lv_3("in_group_lv_3", "集团岗位,上三级", 3), in_group_lv_4("in_group_lv_4", "集团岗位,上四级", 4), in_group_lv_top("in_group_lv_top", "集团岗位,总公司", Integer.MAX_VALUE), - UNKNOWN("UNKNOWN", "未知范围", null) - ; + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知范围", null); private final String type; private final String desc; private final Integer value; @@ -26,15 +34,19 @@ public enum ApproverSpecifyRangeUnitEnum { this.value = value; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - - public Integer getValue() { - return value; + @JsonCreator + public static ApproverSpecifyRangeUnitEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java index a4e68b746..a57c5cda7 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java @@ -1,39 +1,49 @@ package cn.axzo.workflow.common.enums; +import com.alibaba.fastjson.annotation.JSONCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 附件类型枚举 * * @author wangli * @since 2023/11/22 23:19 */ +@Getter public enum AttachmentTypeEnum { image("image", "图片"), file("file", "文件"), signature("signature", "签名"), + @JsonEnumDefaultValue + unknown("unknown", "未知"), ; - private String type; - private String desc; + private final String type; + private final String desc; AttachmentTypeEnum(String type, String desc) { this.type = type; this.desc = desc; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; + @JSONCreator + public static AttachmentTypeEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java index 91189769d..89117c49d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java @@ -1,5 +1,7 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import org.springframework.util.StringUtils; @@ -11,7 +13,10 @@ import org.springframework.util.StringUtils; public enum AutoApprovalTypeEnum { NO_AUTO_APPROVAL("noAutoApproval", "不自动过审"), - CONTINUOUS_NODES_AUTO_APPROVAL("continuousNodesAutoApproval", "连续节点自动过审"); + CONTINUOUS_NODES_AUTO_APPROVAL("continuousNodesAutoApproval", "连续节点自动过审"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"), + ; private final String type; private final String desc; @@ -21,6 +26,11 @@ public enum AutoApprovalTypeEnum { this.desc = desc; } + @JsonValue + public String getType() { + return type; + } + public static AutoApprovalTypeEnum fromType(String type) { if (!StringUtils.hasText(type)) { return null; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java index b8dea2f0f..909889ea4 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java @@ -1,8 +1,12 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; import com.google.common.collect.Lists; +import lombok.Getter; +import java.util.Arrays; import java.util.List; import static cn.axzo.workflow.common.enums.BusinessTypeEnum.APPROVAL; @@ -14,6 +18,7 @@ import static cn.axzo.workflow.common.enums.BusinessTypeEnum.SIGN; * @author wangli * @since 2023/9/4 10:38 */ +@Getter public enum BpmnButtonEnum { /** * 同意按钮 @@ -66,25 +71,18 @@ public enum BpmnButtonEnum { /** * 管理员转交按钮 */ - BPMN_ADMIN_TRANSFER(90, "BPMN_ADMIN_TRANSFER", "管理员转交", Lists.newArrayList()); - - - public int getOrder() { - return order; - } + BPMN_ADMIN_TRANSFER(90, "BPMN_ADMIN_TRANSFER", "管理员转交", Lists.newArrayList()), + /** + * 兜底 + */ + UNKNOWN(99, "UNKNOWN", "未知", Lists.newArrayList()), + ; + @JsonValue public String getBtnKey() { return btnKey; } - public String getBtnName() { - return btnName; - } - - public List getSupportBizType() { - return supportBizType; - } - private final int order; private final String btnKey; private final String btnName; @@ -98,4 +96,15 @@ public enum BpmnButtonEnum { this.supportBizType = supportBizType; } + @JsonCreator + public static BpmnButtonEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getBtnKey().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } + } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java index bcfe7bb6c..334b0f459 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java @@ -1,12 +1,19 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; import org.apache.commons.lang3.StringUtils; +import java.util.Arrays; + /** * 加签类型 * * @author zuoqinbo */ +@Getter public enum BpmnCountersignTypeEnum { /** * 向前加签 @@ -20,6 +27,11 @@ public enum BpmnCountersignTypeEnum { * 共享加签 */ SHARE_COUNTERSIGN("SHARE_COUNTERSIGN", "共享加签"), + /** + * 兜底 + */ + @JsonEnumDefaultValue + UNKNOW("UNKNOW", "未知"), ; private final String type; @@ -30,14 +42,11 @@ public enum BpmnCountersignTypeEnum { this.desc = desc; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - public static BpmnCountersignTypeEnum valueOfType(String countersignType) { if (StringUtils.isBlank(countersignType)) { return null; @@ -50,4 +59,15 @@ public enum BpmnCountersignTypeEnum { } return null; } + + @JsonCreator + public static BpmnCountersignTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOW; + } + return Arrays.stream(values()) + .filter(v -> v.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOW); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java index 00bad8570..4f83dc4f1 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java @@ -1,48 +1,48 @@ package cn.axzo.workflow.common.enums; -import java.util.Arrays; -import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; +import java.util.Arrays; + +@Getter public enum BpmnFlowNodeMode { GENERAL("GENERAL", "普通节点"), OR("OR", "或签节点"), AND("AND", "会签节点"), EXCEPTIONAL("EXCEPTIONAL", "异常"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), ; - private String type; - private String desc; + private final String type; + private final String desc; BpmnFlowNodeMode(String type, String desc) { this.type = type; this.desc = desc; } - public boolean isEqual(String type) { - return this.type.equals(type); - } - + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - public static BpmnFlowNodeMode valueOfType(String type) { + return fromValue(type); + } + + @JsonCreator + public static BpmnFlowNodeMode fromValue(String value) { + if (value == null) { + return UNKNOWN; + } return Arrays.stream(BpmnFlowNodeMode.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java index dfc36e971..54ec64d4b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java @@ -1,11 +1,15 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; import org.springframework.util.StringUtils; import java.util.Arrays; -import java.util.Objects; +@Getter public enum BpmnFlowNodeType { //0 发起人 1审批 2抄送 3条件 4路由 @@ -25,53 +29,35 @@ public enum BpmnFlowNodeType { NODE_ALTER("NODE_ALTER", "告警节点"), NODE_CANCEL("NODE_CANCEL", "撤回节点"), NODE_EMPTY("NODE_EMPTY", "空节点"), - ; + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"); - private String type; - private String desc; + private final String type; + private final String desc; BpmnFlowNodeType(String type, String desc) { this.type = type; this.desc = desc; } - public boolean isEqual(String type) { - return this.type.equals(type); - } - + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public static BpmnFlowNodeType getByType(String type) { - if (!StringUtils.hasText(type)) { - return null; - } - BpmnFlowNodeType[] values = BpmnFlowNodeType.values(); - for (BpmnFlowNodeType value : values) { - if (value.getType().equals(type)) { - return value; - } - } - return null; - } public static BpmnFlowNodeType valueOfType(String type) { + return fromValue(type); + } + + @JsonCreator + public static BpmnFlowNodeType fromValue(String value) { + if (!StringUtils.hasText(value)) { + return UNKNOWN; + } return Arrays.stream(BpmnFlowNodeType.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java index 562ad2c49..369441cbd 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java @@ -1,5 +1,12 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_NOTICE_MESSAGE_CONFIG; import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_PENDING_MESSAGE_ID; import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_SMS_MESSAGE_ID; @@ -10,11 +17,14 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_SMS_MESSAG * @author wangli * @since 2023/11/22 11:02 */ +@Getter public enum BpmnNoticeEnum { notice("notice", TEMPLATE_NOTICE_MESSAGE_CONFIG, "通知模板"), pending("pending", TEMPLATE_PENDING_MESSAGE_ID, "待办模板"), sms("sms", TEMPLATE_SMS_MESSAGE_ID, "短信模板"), + @JsonEnumDefaultValue + unknown("unknown", "unknown", "未知类型"), ; private final String key; private final String configName; @@ -26,15 +36,19 @@ public enum BpmnNoticeEnum { this.desc = desc; } + @JsonValue public String getKey() { return key; } - public String getConfigName() { - return configName; - } - - public String getDesc() { - return desc; + @JsonCreator + public static BpmnNoticeEnum fromValue(String key) { + if (key == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getKey().equalsIgnoreCase(key)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java index e0f2ce964..dd1944d91 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java @@ -1,7 +1,13 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; +@Getter public enum BpmnProcessInstanceResultEnum { PROCESSING("PROCESSING", "审批中"), APPROVED("APPROVED", "已通过"), @@ -14,6 +20,8 @@ public enum BpmnProcessInstanceResultEnum { UPGRADED("UPGRADED", "已提级"), COMMENTED("COMMENTED", "已评论"), DELETED("DELETED", "已删除"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), ; /** * 结果 @@ -29,34 +37,26 @@ public enum BpmnProcessInstanceResultEnum { this.desc = desc; } + @JsonValue public String getStatus() { return status; } - public String getDesc() { - return desc; - } - - /** - * 判断该结果是否已经处于 End 最终结果 - *

- * 主要用于一些结果更新的逻辑,如果已经是最终结果,就不再进行更新 - * - * @param result 结果 - * @return 是否 - */ - public static boolean isEndResult(String result) { - return Arrays.asList(PROCESSING.getStatus(), APPROVED.getStatus(), REJECTED.getStatus(), - CANCELLED.getStatus()).contains(result); - } public static BpmnProcessInstanceResultEnum valueOfStatus(String status) { return Arrays.stream(values()).filter(it -> it.getStatus().equals(status)).findFirst() .orElse(DELETED); } - public static BpmnProcessInstanceResultEnum valueOfDesc(String desc) { - return Arrays.stream(values()).filter(it -> it.getDesc().equals(desc)).findFirst() - .orElse(DELETED); + @JsonCreator + public static BpmnProcessInstanceResultEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(BpmnProcessInstanceResultEnum.values()) + .filter(e -> e.getStatus().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } + } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java index 456dba759..dc332fd29 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java @@ -1,7 +1,12 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; +import java.util.Arrays; + @Getter public enum BpmnProcessTaskResultEnum { PENDING("PENDING", "待处理"), @@ -11,6 +16,8 @@ public enum BpmnProcessTaskResultEnum { CANCELED("CANCELED", "已撤销"), TRANSFERRED("TRANSFERRED", "已转交"), NONE("NONE", "没有执行动作,例如 抄送"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), ; /** * 结果 @@ -26,4 +33,19 @@ public enum BpmnProcessTaskResultEnum { this.desc = desc; } + @JsonValue + public String getStatus() { + return status; + } + + @JsonCreator + public static BpmnProcessTaskResultEnum fromValue(String status) { + if (status == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getStatus().equalsIgnoreCase(status)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java index 8f0847f5f..822639b90 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java @@ -1,10 +1,18 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 加签类型 * * @author zuoqinbo */ +@Getter public enum BpmnReminderType { /** * 短信 @@ -13,7 +21,10 @@ public enum BpmnReminderType { /** * 站内信 */ - INBOX_MESSAGE("INBOX_MESSAGE", "站内信"); + INBOX_MESSAGE("INBOX_MESSAGE", "站内信"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), + ; private String type; private String desc; @@ -23,24 +34,20 @@ public enum BpmnReminderType { this.desc = desc; } - public boolean isEqual(String type) { - return this.type.equals(type); - } - + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; + @JsonCreator + public static BpmnReminderType fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java index fe46981d7..416339cb8 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 签署方式 @@ -9,10 +13,13 @@ import java.util.Objects; * @author wangli * @since 2025-03-25 17:00 */ +@Getter public enum BpmnSignType { SINGLE("SINGLE", "指定人群,所有人共同签署一份文件"), MULTI("MULTI", "指定人群,每人签署一份文件"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), ; private final String type; @@ -23,20 +30,25 @@ public enum BpmnSignType { this.desc = desc; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; + public static BpmnSignType valueOfType(String type) { + return fromValue(type); } - public static BpmnSignType valueOfType(String type) { + @JsonCreator + public static BpmnSignType fromValue(String value) { + if (value == null) { + return UNKNOWN; + } return Arrays.stream(BpmnSignType.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java index c44af52b2..1b5f0c8ad 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java @@ -1,18 +1,41 @@ package cn.axzo.workflow.common.enums; -import lombok.AllArgsConstructor; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; -import lombok.NoArgsConstructor; -@AllArgsConstructor -@NoArgsConstructor +import java.util.Arrays; + @Getter public enum BusinessTypeEnum { SIGN("sign", "签署业务"), + APPROVAL("approval", "审批业务"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"); - APPROVAL("approval", "审批业务"); + private final String type; + private final String desc; - private String type; - private String desc; + BusinessTypeEnum(String type, String desc) { + this.type = type; + this.desc = desc; + } + + @JsonValue + public String getType() { + return type; + } + + @JsonCreator + public static BusinessTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(v -> v.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java index 3f7dbdbbd..0df3ce451 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java @@ -1,14 +1,19 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; +import java.util.Arrays; + @Getter public enum ButtonVisibleScopeEnum { INITIATOR("INITIATOR", "发起人"), - EXECUTOR("EXECUTOR", "当前操作人"), - ; + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"); /** * 结果 @@ -23,4 +28,20 @@ public enum ButtonVisibleScopeEnum { this.status = status; this.desc = desc; } + + @JsonValue + public String getStatus() { + return status; + } + + @JsonCreator + public static ButtonVisibleScopeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getStatus().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java index c4e8abee4..ac7bb4f0e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 抄送对象类型枚举 @@ -9,6 +13,7 @@ import java.util.Objects; * @author wangli * @since 12/03/2024 09:33 */ +@Getter public enum CarbonCopyObjectType { // 单位下 ent_role("ent_role", "role", "单位内指定角色", "entWorkspaceProcessor"), @@ -33,12 +38,14 @@ public enum CarbonCopyObjectType { approver("approver", "approver", "审批人", "common"), ent_initiator_leader("ent_initiator_leader", "initiatorLeader", "单位内发起人主管", "entWorkspaceProcessor"), project_initiator_leader("project_initiator_leader", "initiatorLeader", "项目部内发起人主管", "projectWorkspaceProcessor"), - ; - private String type; - private String simpleType; - private String desc; - private String processor; + @JsonEnumDefaultValue + unknown("unknown", "unknown", "未知", "unknownProcessor"); + + private final String type; + private final String simpleType; + private final String desc; + private final String processor; CarbonCopyObjectType(String type, String simpleType, String desc, String processor) { this.type = type; @@ -47,43 +54,25 @@ public enum CarbonCopyObjectType { this.processor = processor; } + @JsonValue public String getType() { return type; } - public void setType(String type) { - this.type = type; - } - - public String getSimpleType() { - return simpleType; - } - - public void setSimpleType(String simpleType) { - this.simpleType = simpleType; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public String getProcessor() { - return processor; - } - - public void setProcessor(String processor) { - this.processor = processor; - } public static CarbonCopyObjectType valueOfType(String type) { - return Arrays.stream(CarbonCopyObjectType.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + return fromValue(type); + } + + @JsonCreator + public static CarbonCopyObjectType fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java index 3f0580ea5..40236162b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java @@ -1,5 +1,10 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; + +import java.util.Arrays; + /** * 参建单位类型枚举 *

@@ -22,7 +27,9 @@ public enum CooperateShipTypeEnum { PROJ_GROUP(11, "项目内小组"), SURVEY_UNIT(12, "地勘单位"), DESIGN_UNIT(13, "设计单位"), - OTHER(30, "其他"); + OTHER(30, "其他"), + @JsonEnumDefaultValue + UNKNOWN(99, "未知"); private final Integer code; private final String desc; @@ -40,4 +47,15 @@ public enum CooperateShipTypeEnum { return desc; } + @JsonCreator + public static CooperateShipTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(v -> v.name().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } + } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java index f170a4a50..17bff4d46 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java @@ -1,11 +1,34 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 模型扩展表的状态枚举 * * @author wangli * @since 2025-01-15 09:46 */ +@Getter public enum ExtModelStateFieldEnum { - status, printStatus + status, + printStatus, + @JsonEnumDefaultValue + unknown, + ; + + @JsonCreator + public static ExtModelStateFieldEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(ExtModelStateFieldEnum.values()) + .filter(e -> e.name().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); + } + } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java index ae3c22c02..a460f8eae 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 文档类型枚举 @@ -9,11 +13,14 @@ import java.util.Objects; * @author wangli * @since 2025-03-27 09:55 */ +@Getter public enum FileTypeEnum { WORD("word", "文本", ".docx"), EXCEL("excel", "表格", ".xlsx"), HIPRINT("hiprint", "智能文档", ""), PDF("pdf", "PDF", ".pdf"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知", ""), ; private final String type; private final String desc; @@ -25,22 +32,24 @@ public enum FileTypeEnum { this.suffix = suffix; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - - public String getSuffix() { - return suffix; - } - public static FileTypeEnum valueOfType(String type) { - return Arrays.stream(FileTypeEnum.values()) - .filter(i -> Objects.equals(i.getType().toUpperCase(), type.toUpperCase())) - .findAny() - .orElse(null); + return fromValue(type); } + + @JsonCreator + public static FileTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(FileTypeEnum.values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } + } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/deletage/approverscope/UnknownProcessor.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/deletage/approverscope/UnknownProcessor.java new file mode 100644 index 000000000..ffa6311e0 --- /dev/null +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/deletage/approverscope/UnknownProcessor.java @@ -0,0 +1,13 @@ +package cn.axzo.workflow.core.deletage.approverscope; + +import org.springframework.stereotype.Component; + +/** + * 兜底的处理器 + * + * @author wangli + * @since 2025-08-28 16:45 + */ +@Component +public class UnknownProcessor implements ApproverScopeProcessor { +} From 6c79770796823339150020faee861b8944584f50 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 10:35:24 +0800 Subject: [PATCH 02/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E8=BD=AC=20Unknown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/InitiatorSpecifiedRangeEnum.java | 22 ++++++++++- .../common/enums/ModelBizTypeEnum.java | 28 ++++++++++---- .../axzo/workflow/common/enums/OrderEnum.java | 22 ++++++++++- .../common/enums/PrintFieldCategoryEnum.java | 23 ++++++++++- .../enums/SignApproverOrgLimitEnum.java | 38 ++++++++++--------- .../enums/SignApproverRoleLimitEnum.java | 26 ++++++++++--- .../common/enums/TimeQueryDirection.java | 20 ++++++++++ .../workflow/common/enums/VarTypeEnum.java | 38 +++++++++++++++---- .../workflow/common/enums/WorkspaceType.java | 21 +++++++++- .../server/controller/web/TestController.java | 5 ++- .../StarterFeignClientConfiguration.java | 1 + ...orkflowEngineStarterAutoConfiguration.java | 8 ++++ 12 files changed, 206 insertions(+), 46 deletions(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java index 52997572b..6154f4e85 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java @@ -1,16 +1,26 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 新版配置下的发起人自选的范围限定枚举 * * @author wangli * @since 2025-08-13 15:13 */ +@Getter public enum InitiatorSpecifiedRangeEnum { self_and_children_in_project("self_and_children_in_project", "项目内本组织及其下属组织所有成员"), self_in_project("self_in_project", "项目内本组织所有成员"), in_project("in_project", "项目内所有成员"), in_ent("in_ent", "企业内所有成员"), + @JsonEnumDefaultValue + unknown("unknown", "未知"), ; private final String type; private final String desc; @@ -20,11 +30,19 @@ public enum InitiatorSpecifiedRangeEnum { this.desc = desc; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; + @JsonCreator + public static InitiatorSpecifiedRangeEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java index a4d5c1bee..29960e118 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 模型业务类型枚举 @@ -9,10 +13,13 @@ import java.util.Objects; * @author wangli * @since 2025-03-26 11:49 */ +@Getter public enum ModelBizTypeEnum { SIGN("SIGN", "签署业务"), FLOWABLE("FLOWABLE", "审批业务"), + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"), ; private final String type; private final String desc; @@ -22,18 +29,23 @@ public enum ModelBizTypeEnum { this.desc = desc; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; + public static ModelBizTypeEnum valueOfType(String type) { + return fromValue(type); } - public static ModelBizTypeEnum valueOfType(String type) { - return Arrays.stream(ModelBizTypeEnum.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + @JsonCreator + public static ModelBizTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java index 805b79ded..15abf1539 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java @@ -1,12 +1,32 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 顺序操作枚举 * * @author wangli * @since 2025-03-31 16:35 */ +@Getter public enum OrderEnum { - UP, DOWN + UP, DOWN, + @JsonEnumDefaultValue + UNKNOWN; + + @JsonCreator + public static OrderEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.name().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java index 1a29b3e16..72afecfb2 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java @@ -1,11 +1,18 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 打印字段的类型枚举 * * @author wangli * @since 2025-01-16 18:19 */ +@Getter public enum PrintFieldCategoryEnum { // 表单变量 @@ -15,5 +22,19 @@ public enum PrintFieldCategoryEnum { // 电子签名变量 signature, // 签署业务自定义变量 - sign + sign, + @JsonEnumDefaultValue + unknown, + ; + + @JsonCreator + public static PrintFieldCategoryEnum fromValue(String value) { + if (value == null) { + return unknown; + } + return Arrays.stream(values()) + .filter(e -> e.name().equalsIgnoreCase(value)) + .findFirst() + .orElse(unknown); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java index 4037b4f83..b20375808 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java @@ -1,7 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; -import java.util.Objects; /** * 签署确认节点的审批人层级范围限制 @@ -9,6 +13,7 @@ import java.util.Objects; * @author wangli * @since 2025-03-26 14:30 */ +@Getter public enum SignApproverOrgLimitEnum { LV_0("LV_0", "当前组织", 0), LV_1("LV_1", "上1级组织", 1), @@ -18,13 +23,11 @@ public enum SignApproverOrgLimitEnum { LV_5("LV_5", "上5级组织", 5), LV_ALL("LV_ALL", "所有组织", -1), LV_TOP("LV_TOP", "顶层组织", Integer.MAX_VALUE), - UNKNOWN("UNKNOWN", "未知层级", null) - ; + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知层级", null); private final String type; - private final String desc; - private final Integer code; SignApproverOrgLimitEnum(String type, String desc, Integer code) { @@ -33,22 +36,23 @@ public enum SignApproverOrgLimitEnum { this.code = code; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - - public Integer getCode() { - return code; - } - public static SignApproverOrgLimitEnum valueOfType(String type) { - return Arrays.stream(SignApproverOrgLimitEnum.values()) - .filter(i -> Objects.equals(i.getType(), type)) - .findAny() - .orElse(null); + return fromValue(type); + } + + @JsonCreator + public static SignApproverOrgLimitEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java index 2323fda54..895132917 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java @@ -1,5 +1,10 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + import java.util.Arrays; import java.util.Objects; @@ -9,12 +14,13 @@ import java.util.Objects; * @author wangli * @since 2025-03-26 14:30 */ +@Getter public enum SignApproverRoleLimitEnum { LEADER("LEADER", "负责人"), - ; + @JsonEnumDefaultValue + UNKNOWN("UNKNOWN", "未知"); private final String type; - private final String desc; SignApproverRoleLimitEnum(String type, String desc) { @@ -22,18 +28,26 @@ public enum SignApproverRoleLimitEnum { this.desc = desc; } + @JsonValue public String getType() { return type; } - public String getDesc() { - return desc; - } - public static SignApproverRoleLimitEnum valueOfType(String type) { return Arrays.stream(SignApproverRoleLimitEnum.values()) .filter(i -> Objects.equals(i.getType(), type)) .findAny() .orElse(null); } + + @JsonCreator + public static SignApproverRoleLimitEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java index 114403b07..0af9c934f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java @@ -1,5 +1,11 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import lombok.Getter; + +import java.util.Arrays; + /** * 时间查询方向 *

@@ -9,8 +15,22 @@ package cn.axzo.workflow.common.enums; * @author wangli * @since 2024-09-29 09:56 */ +@Getter public enum TimeQueryDirection { BEFORE, AFTER, + @JsonEnumDefaultValue + UNKNOWN, ; + + @JsonCreator + public static TimeQueryDirection fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.name().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java index bbfd8227f..1929efad5 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java @@ -1,21 +1,45 @@ package cn.axzo.workflow.common.enums; -import lombok.AllArgsConstructor; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; -import lombok.NoArgsConstructor; + +import java.util.Arrays; /** * 模版上变量字段类型 */ -@AllArgsConstructor -@NoArgsConstructor @Getter public enum VarTypeEnum { TEXT("text", "文本"), + PICTURE("picture", "图片"), + @JsonEnumDefaultValue + UNKNOWN("unknown", "未知"), + ; - PICTURE("picture", "图片"); + private final String type; + private final String desc; - private String type; - private String desc; + VarTypeEnum(String type, String desc) { + this.type = type; + this.desc = desc; + } + + @JsonValue + public String getType() { + return type; + } + + @JsonCreator + public static VarTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java index da845ee8d..656f6dd2a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java @@ -1,6 +1,7 @@ package cn.axzo.workflow.common.enums; -import lombok.AllArgsConstructor; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import lombok.Getter; import java.util.Arrays; @@ -10,7 +11,6 @@ import java.util.Arrays; * @date 2023/11/21 */ @Getter -@AllArgsConstructor public enum WorkspaceType { /** @@ -21,15 +21,32 @@ public enum WorkspaceType { PROJECT(2, "项目"), GOVERNMENT(3, "政务监管平台"), OMS(6, "oms工作台"), + @JsonEnumDefaultValue UN_KNOW(0, "未知"), ; private final Integer code; private final String desc; + WorkspaceType(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + public static WorkspaceType getType(Integer code) { return Arrays.stream(values()).filter(it -> it.getCode().equals(code)) .findFirst() .orElse(null); } + + @JsonCreator + public static WorkspaceType fromValue(String value) { + if (value == null) { + return UN_KNOW; + } + return Arrays.stream(values()) + .filter(e -> e.getCode().toString().equalsIgnoreCase(value)) + .findFirst() + .orElse(UN_KNOW); + } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java index 9ddb87055..e363a54e6 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java @@ -20,6 +20,7 @@ import cn.axzo.workflow.server.common.util.ShellUtil; import cn.axzo.workflow.server.xxljob.EsIndexOperationJobHandler; import cn.axzo.workflow.server.xxljob.SpecifyProcessInstanceSyncEsJobHandler; import cn.azxo.framework.common.model.CommonResponse; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.FlowElement; @@ -290,7 +291,7 @@ public class TestController { }*/ @GetMapping("log") - public String log(@RequestParam String keyword, @RequestParam(required = false) Date date, @RequestParam(required = false) String grepKeyword) throws Exception { + public String log(@RequestParam String keyword, @RequestParam(required = false) String date, @RequestParam(required = false) String grepKeyword) throws Exception { if (!StringUtils.hasText(keyword)) { return "命令不能为空"; } @@ -298,7 +299,7 @@ public class TestController { if (StringUtils.hasText(s)) { return s; } - return ShellUtil.grepLog(profile, keyword, Objects.isNull(date) ? new Date() : date, grepKeyword); + return ShellUtil.grepLog(profile, keyword, StringUtils.hasText(date) ? DateUtil.parseDate(date) : new Date(), grepKeyword); } @GetMapping("form") diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterFeignClientConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterFeignClientConfiguration.java index 1919480a4..530c10f03 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterFeignClientConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterFeignClientConfiguration.java @@ -30,4 +30,5 @@ public class StarterFeignClientConfiguration { public static class WorkflowManageServiceClient { } + } diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index f7bd92785..771490d08 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -27,6 +27,7 @@ import cn.axzo.workflow.starter.mq.check.ImplementationReadyChecker; import cn.axzo.workflow.starter.mq.monitor.WorkflowEngineStarterDefaultMQMonitor; import cn.axzo.workflow.starter.mq.monitor.console.WorkflowEngineStarterMQMonitorController; import cn.axzo.workflow.starter.selector.MetaFeignClientEnableSelector; +import com.fasterxml.jackson.databind.DeserializationFeature; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.MixAll; @@ -37,7 +38,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -161,4 +164,9 @@ public class WorkflowEngineStarterAutoConfiguration { return new ImplementationReadyChecker(); } + @Bean + @ConditionalOnMissingBean(name = "enumUnknownCustomizer") + public Jackson2ObjectMapperBuilderCustomizer enumUnKnowCustomizer() { + return builder -> builder.featuresToEnable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE); + } } From fd51fe6dc0d364d9da9fb189821f4b4d2e1a2e47 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 15:56:12 +0800 Subject: [PATCH 03/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bpmn/BpmnProcessInstanceController.java | 3 - ...orkflowEngineStarterAutoConfiguration.java | 13 +- .../starter/api/WorkflowCoreService.java | 115 ++++++------- .../starter/api/WorkflowManageService.java | 158 +++++++----------- 4 files changed, 118 insertions(+), 171 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java index e304446aa..7971073ed 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java @@ -42,7 +42,6 @@ import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; import cn.axzo.workflow.common.model.response.bpmn.process.doc.DocPendingVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskInstanceLogVO; -import cn.axzo.workflow.common.model.response.category.CategoryItemVO; import cn.axzo.workflow.common.valid.group.ValidGroup; import cn.axzo.workflow.core.engine.cmd.CustomGetModelDocsCmd; import cn.axzo.workflow.core.repository.entity.ExtAxProcessLog; @@ -88,7 +87,6 @@ import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -96,7 +94,6 @@ import java.util.stream.Stream; import static cn.axzo.workflow.common.code.BpmnInstanceRespCode.PROCESS_DOC_ID_NOT_IN_MODEL; import static cn.axzo.workflow.common.code.BpmnInstanceRespCode.PROCESS_DOC_READ_PARAM_ERROR; import static cn.axzo.workflow.common.code.BpmnInstanceRespCode.PROCESS_EXT_LOG_PARAM_ERROR; -import static cn.axzo.workflow.common.constant.BpmnConstants.BPM_MODEL_CATEGORY; import static cn.azxo.framework.common.model.CommonResponse.success; /** diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index 771490d08..ad4e66cb0 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -27,7 +27,6 @@ import cn.axzo.workflow.starter.mq.check.ImplementationReadyChecker; import cn.axzo.workflow.starter.mq.monitor.WorkflowEngineStarterDefaultMQMonitor; import cn.axzo.workflow.starter.mq.monitor.console.WorkflowEngineStarterMQMonitorController; import cn.axzo.workflow.starter.selector.MetaFeignClientEnableSelector; -import com.fasterxml.jackson.databind.DeserializationFeature; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.MixAll; @@ -38,9 +37,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -164,9 +161,9 @@ public class WorkflowEngineStarterAutoConfiguration { return new ImplementationReadyChecker(); } - @Bean - @ConditionalOnMissingBean(name = "enumUnknownCustomizer") - public Jackson2ObjectMapperBuilderCustomizer enumUnKnowCustomizer() { - return builder -> builder.featuresToEnable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE); - } +// @Bean +// @ConditionalOnMissingBean(name = "enumUnknownCustomizer") +// public Jackson2ObjectMapperBuilderCustomizer enumUnKnowCustomizer() { +// return builder -> builder.featuresToEnable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE); +// } } diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java index c5baeaa89..a056b3116 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java @@ -1,87 +1,64 @@ package cn.axzo.workflow.starter.api; -import cn.axzo.workflow.starter.feign.ext.WorkflowEngineStarterFeignConfiguration; -import cn.axzo.workflow.common.util.ThreadUtil; -import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.ASYNC; -import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; -import cn.axzo.workflow.client.annotation.WorkflowEngineFeignClient; import cn.axzo.workflow.common.annotation.InvokeMode; -import cn.axzo.workflow.common.annotation.Manageable; -import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; -import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO; -import cn.azxo.framework.common.model.CommonResponse; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import javax.validation.constraints.NotBlank; -import cn.axzo.workflow.common.model.request.form.definition.StartFormSearchDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormDetailDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormSearchDTO; -import cn.axzo.workflow.common.model.response.form.FormVO; -import cn.axzo.workflow.common.model.response.form.definition.FormDefinitionVO; -import cn.axzo.workflow.common.model.response.form.instance.FormInstanceVO; -import java.util.List; +import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.SignFileDTO; import cn.axzo.workflow.common.model.dto.SimpleDocDTO; -import cn.axzo.workflow.common.model.request.bpmn.log.LogApproveSearchDTO; +import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; +import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BeforeProcessInstanceCreateDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCancelDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCarbonCopyDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCheckApproverDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCreateDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceLogQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceMyPageReqVO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.SuperBpmnProcessInstanceCancelDTO; import cn.axzo.workflow.common.model.request.bpmn.process.doc.ApproverReadStatusDTO; import cn.axzo.workflow.common.model.request.bpmn.process.doc.ChangeApproverReadStatusDTO; import cn.axzo.workflow.common.model.request.bpmn.process.doc.ProcessDocQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskButtonSearchDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; -import cn.axzo.workflow.common.model.response.BpmPageResult; -import cn.axzo.workflow.common.model.response.bpmn.BatchOperationResultVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceAdminPageItemVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceLogVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstancePageItemVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceVO; -import cn.axzo.workflow.common.model.response.bpmn.process.ExtProcessLogVO; -import cn.axzo.workflow.common.model.response.bpmn.process.NodesByModelVO; -import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; -import cn.axzo.workflow.common.model.response.bpmn.process.doc.DocPendingVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; -import com.fasterxml.jackson.databind.node.ObjectNode; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PutMapping; -import javax.annotation.Nullable; -import javax.validation.constraints.NotNull; -import java.util.Map; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnNodeBackSystemOperateDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnOptionalNodeDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCompleteDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCreateDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditWithFormDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskBackAuditDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskButtonSearchDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCountersignDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskRemindDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskResetApproversDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskTransferDTO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceGroupVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskDonePageItemVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskInstanceVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskTodoPageItemVO; -import javax.validation.constraints.NotEmpty; +import cn.axzo.workflow.common.model.request.form.definition.StartFormSearchDTO; +import cn.axzo.workflow.common.model.request.form.instance.FormDetailDTO; +import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; +import cn.axzo.workflow.common.model.response.bpmn.BatchOperationResultVO; +import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceLogVO; +import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceVO; +import cn.axzo.workflow.common.model.response.bpmn.process.NodesByModelVO; +import cn.axzo.workflow.common.model.response.bpmn.process.doc.DocPendingVO; +import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; +import cn.axzo.workflow.common.model.response.form.definition.FormDefinitionVO; +import cn.axzo.workflow.common.model.response.form.instance.FormInstanceVO; +import cn.axzo.workflow.common.util.ThreadUtil; +import cn.axzo.workflow.starter.feign.ext.WorkflowEngineStarterFeignConfiguration; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Nullable; +import javax.validation.constraints.NotBlank; +import java.util.List; +import java.util.Map; + +import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.ASYNC; +import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; /** * Workflow Engine Starter Core Service @@ -93,16 +70,6 @@ import javax.validation.constraints.NotEmpty; @org.springframework.cloud.openfeign.FeignClient(name = "workflow-engine", url = "${axzo.service.workflow-engine:http://workflow-engine:8080}", configuration = WorkflowEngineStarterFeignConfiguration.class) public interface WorkflowCoreService { - /** - * 业务节点唤醒, 该节点废弃,请换成 {@link ProcessActivityApi#trigger(cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO)} 接口 - *

- * 当模型中使用了“业务节点”,且设置了“不设置审批人”模式,则当业务监听到 PROCESS_ACTIVITY_START 事件时,可通过该接口推动流程继续运行 - */ - @Deprecated - @GetMapping("/api/process/activity/trigger") - @InvokeMode(SYNC) - Boolean trigger(@NotBlank(message = "触发 ID 不能为空") @RequestParam String triggerId); - /** * 业务节点唤醒 * @@ -170,6 +137,9 @@ public interface WorkflowCoreService { @InvokeMode(SYNC) FormInstanceVO getFormInstance(@Validated @RequestBody FormDetailDTO dto); + @GetMapping("/api/process/instance/enum") + BpmnProcessInstanceResultEnum getEnum(@RequestParam String value); + /** * 创建流程前的节点列表 * 用于发起人自选 @@ -236,6 +206,17 @@ public interface WorkflowCoreService { @InvokeMode(ASYNC) BatchOperationResultVO batchAbortProcessInstance(@Validated @RequestBody List dtos); + /** + * 抄送流程实例(未实现) + * + * @param dto + * @return + */ + @Operation(summary = "抄送流程实例") + @PostMapping("/api/process/instance/carbon-copy") + @Deprecated + Boolean carbonCopyProcessInstance(@Validated @RequestBody BpmnProcessInstanceCarbonCopyDTO dto); + /** * 获得流程实例 * diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java index 4971ecc01..58d45fe2f 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java @@ -1,74 +1,15 @@ package cn.axzo.workflow.starter.api; -import cn.axzo.workflow.starter.feign.ext.WorkflowEngineStarterFeignConfiguration; -import cn.axzo.workflow.common.util.ThreadUtil; -import cn.axzo.workflow.client.annotation.WorkflowEngineFeignClient; import cn.axzo.workflow.common.annotation.InvokeMode; import cn.axzo.workflow.common.annotation.Manageable; import cn.axzo.workflow.common.model.dto.print.PrintFieldDTO; -import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO; -import cn.azxo.framework.common.model.CommonResponse; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.validation.annotation.Validated; -import javax.validation.constraints.NotBlank; -import java.util.List; -import java.util.Map; import cn.axzo.workflow.common.model.request.admin.ProcessAdminCreateDTO; import cn.axzo.workflow.common.model.request.admin.ProcessAdminDeleteDTO; import cn.axzo.workflow.common.model.request.admin.ProcessAdminQueryDTO; -import cn.axzo.workflow.common.model.response.admin.ProcessAdminVo; -import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; -import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO; -import cn.axzo.workflow.common.model.request.form.definition.StartFormSearchDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormDetailDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormSearchDTO; -import cn.axzo.workflow.common.model.response.form.FormVO; -import cn.axzo.workflow.common.model.response.form.definition.FormDefinitionVO; -import cn.axzo.workflow.common.model.response.form.instance.FormInstanceVO; -import cn.axzo.workflow.common.model.request.es.InstanceSearchReqDTO; -import cn.axzo.workflow.common.model.response.BpmPageResult; -import cn.axzo.workflow.common.model.response.es.ProcessInstanceDocumentVO; -import cn.axzo.workflow.common.model.dto.SignFileDTO; -import cn.axzo.workflow.common.model.dto.SimpleDocDTO; -import cn.axzo.workflow.common.model.request.bpmn.log.LogApproveSearchDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BeforeProcessInstanceCreateDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCancelDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCarbonCopyDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCheckApproverDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCreateDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceLogQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceMyPageReqVO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.SuperBpmnProcessInstanceCancelDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.doc.ApproverReadStatusDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.doc.ChangeApproverReadStatusDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.doc.ProcessDocQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskButtonSearchDTO; -import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; -import cn.axzo.workflow.common.model.response.bpmn.BatchOperationResultVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceAdminPageItemVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceLogVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstancePageItemVO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceVO; -import cn.axzo.workflow.common.model.response.bpmn.process.ExtProcessLogVO; -import cn.axzo.workflow.common.model.response.bpmn.process.NodesByModelVO; -import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; -import cn.axzo.workflow.common.model.response.bpmn.process.doc.DocPendingVO; -import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; -import com.fasterxml.jackson.databind.node.ObjectNode; -import javax.annotation.Nullable; -import javax.validation.constraints.NotNull; -import cn.axzo.workflow.common.model.request.category.*; -import cn.axzo.workflow.common.model.response.category.CategoryConfigItemVO; -import cn.axzo.workflow.common.model.response.category.CategoryGroupVarItemVo; -import cn.axzo.workflow.common.model.response.category.CategoryItemVO; -import org.springframework.web.bind.annotation.*; -import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.*; import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonMetaInfo; +import cn.axzo.workflow.common.model.request.bpmn.RestBpmnProcessVariable; +import cn.axzo.workflow.common.model.request.bpmn.definition.BpmnProcessDefinitionUpdateDTO; +import cn.axzo.workflow.common.model.request.bpmn.log.LogApproveSearchDTO; import cn.axzo.workflow.common.model.request.bpmn.model.BpmnModelCreateDTO; import cn.axzo.workflow.common.model.request.bpmn.model.BpmnModelSearchDTO; import cn.axzo.workflow.common.model.request.bpmn.model.BpmnModelUpdateDTO; @@ -81,38 +22,70 @@ import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocSearchDTO; import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocStatusDTO; import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocTenantQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocUpdateDTO; +import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO; import cn.axzo.workflow.common.model.request.bpmn.print.RestPrintTemplateConfigDTO; +import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessDefinitionPageDTO; +import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO; +import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceMyPageReqVO; +import cn.axzo.workflow.common.model.request.bpmn.process.SuperBpmnProcessInstanceCancelDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnNodeBackSystemOperateDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO; +import cn.axzo.workflow.common.model.request.category.CategoryConfigCreateDTO; +import cn.axzo.workflow.common.model.request.category.CategoryConfigSearchDTO; +import cn.axzo.workflow.common.model.request.category.CategoryCreateDTO; +import cn.axzo.workflow.common.model.request.category.CategoryGroupVarSearchDto; +import cn.axzo.workflow.common.model.request.category.CategoryGroupVarUpsertDto; +import cn.axzo.workflow.common.model.request.category.CategorySearchDTO; +import cn.axzo.workflow.common.model.request.category.CategoryUpdateDTO; +import cn.axzo.workflow.common.model.request.es.InstanceSearchReqDTO; +import cn.axzo.workflow.common.model.request.form.instance.FormSearchDTO; +import cn.axzo.workflow.common.model.response.BpmPageResult; +import cn.axzo.workflow.common.model.response.admin.ProcessAdminVo; import cn.axzo.workflow.common.model.response.bpmn.model.BpmnModelDetailVO; import cn.axzo.workflow.common.model.response.bpmn.model.BpmnModelExtVO; import cn.axzo.workflow.common.model.response.bpmn.model.doc.DocBaseVO; -import cn.axzo.workflow.common.model.response.print.PrintModelDTO; -import cn.axzo.workflow.common.model.request.bpmn.RestBpmnProcessVariable; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnNodeBackSystemOperateDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnOptionalNodeDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCompleteDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnRobotTaskCreateDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAttachmentDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditWithFormDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskBackAuditDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCommentDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCountersignDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskPageSearchDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskRemindDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskResetApproversDTO; -import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskTransferDTO; +import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO; +import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceAdminPageItemVO; +import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstancePageItemVO; +import cn.axzo.workflow.common.model.response.bpmn.process.ExtProcessLogVO; +import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceGroupVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnHistoricTaskInstanceVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskDonePageItemVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskInstanceVO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskTodoPageItemVO; +import cn.axzo.workflow.common.model.response.category.CategoryConfigItemVO; +import cn.axzo.workflow.common.model.response.category.CategoryGroupVarItemVo; +import cn.axzo.workflow.common.model.response.category.CategoryItemVO; +import cn.axzo.workflow.common.model.response.es.ProcessInstanceDocumentVO; +import cn.axzo.workflow.common.model.response.form.FormVO; +import cn.axzo.workflow.common.model.response.print.PrintModelDTO; +import cn.axzo.workflow.common.util.ThreadUtil; +import cn.axzo.workflow.starter.feign.ext.WorkflowEngineStarterFeignConfiguration; +import com.fasterxml.jackson.databind.node.ObjectNode; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Nullable; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; -import cn.axzo.workflow.common.model.request.bpmn.definition.BpmnProcessDefinitionUpdateDTO; -import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessDefinitionPageDTO; -import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO; +import javax.validation.constraints.NotNull; +import java.util.List; +import java.util.Map; + import static cn.axzo.workflow.common.constant.BpmnConstants.NO_TENANT_ID; +import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.ASYNC; +import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; /** * Workflow Engine Starter Management Service @@ -202,6 +175,17 @@ public interface WorkflowManageService { @InvokeMode(SYNC) Integer batchDeleteProcessAdmin(@RequestBody List ids); + /** + * 业务节点唤醒, 该节点废弃,请换成 {@link ProcessActivityApi#trigger(cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO)} 接口 + *

+ * 当模型中使用了“业务节点”,且设置了“不设置审批人”模式,则当业务监听到 PROCESS_ACTIVITY_START 事件时,可通过该接口推动流程继续运行 + */ + @Deprecated + @GetMapping("/api/process/activity/trigger") + @Manageable + @InvokeMode(SYNC) + Boolean trigger(@NotBlank(message = "触发 ID 不能为空") @RequestParam String triggerId); + @PostMapping("/api/form/admin/form/page") @InvokeMode(SYNC) @Manageable @@ -221,18 +205,6 @@ public interface WorkflowManageService { @Manageable Boolean superCancelProcessInstance(@Validated @RequestBody SuperBpmnProcessInstanceCancelDTO dto); - /** - * 抄送流程实例(未实现) - * - * @param dto - * @return - */ - @Operation(summary = "抄送流程实例") - @PostMapping("/api/process/instance/carbon-copy") - @Deprecated - @Manageable - Boolean carbonCopyProcessInstance(@Validated @RequestBody BpmnProcessInstanceCarbonCopyDTO dto); - /** * 查询所有的审批流 * From d939b1ecd427b0d578563ad534c0bf296eef87e8 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 16:34:09 +0800 Subject: [PATCH 04/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java index 54ec64d4b..e7433b9a7 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java @@ -45,6 +45,9 @@ public enum BpmnFlowNodeType { return type; } + public static BpmnFlowNodeType getByType(String type) { + return fromValue(type); + } public static BpmnFlowNodeType valueOfType(String type) { return fromValue(type); From 27f9279581626680b3f89472b57fb756a931fd24 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 16:58:33 +0800 Subject: [PATCH 05/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/common/enums/AdminDataSource.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/AdminRoleType.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java | 2 +- .../workflow/common/enums/ApproverEmptyHandleTypeEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java | 2 +- .../cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java | 2 +- .../axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java | 2 +- .../workflow/common/enums/ApproverSpecifyRangeUnitEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java | 3 +-- .../java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java | 2 +- .../cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java | 2 +- .../java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java | 2 +- .../java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java | 2 +- .../workflow/common/enums/BpmnProcessInstanceResultEnum.java | 2 +- .../axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/BpmnReminderType.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/BpmnSignType.java | 2 +- .../java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java | 2 +- .../cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java | 2 +- .../cn/axzo/workflow/common/enums/CarbonCopyObjectType.java | 2 +- .../cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java | 2 +- .../cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java | 2 +- .../workflow/common/enums/InitiatorSpecifiedRangeEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java | 2 +- .../src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java | 2 +- .../cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java | 2 +- .../axzo/workflow/common/enums/SignApproverOrgLimitEnum.java | 2 +- .../axzo/workflow/common/enums/SignApproverRoleLimitEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/TimeQueryDirection.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/WorkspaceType.java | 2 +- 34 files changed, 34 insertions(+), 35 deletions(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java index 7324f8818..d94346c11 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java @@ -28,7 +28,7 @@ public enum AdminDataSource { this.desc = desc; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AdminDataSource fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java index 2f2dff134..b6a25a0d6 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java @@ -29,7 +29,7 @@ public enum AdminRoleType { this.desc = desc; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AdminRoleType fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java index e1f716e74..6542d9422 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java @@ -31,7 +31,7 @@ public enum AdminTypeEnum { this.desc = desc; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AdminTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java index e15f94107..e8417e769 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java @@ -42,7 +42,7 @@ public enum ApprovalMethodEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApprovalMethodEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java index 185c5cdaf..39e963eca 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java @@ -36,7 +36,7 @@ public enum ApproverEmptyHandleTypeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverEmptyHandleTypeEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java index 05786adf9..a771c06c4 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java @@ -39,7 +39,7 @@ public enum ApproverScopeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApprovalMethodEnum fromValue(String value) { if (value == null) { return ApprovalMethodEnum.unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java index c93a0e1f2..0f2dac04a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java @@ -55,7 +55,7 @@ public enum ApproverSpecifyEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java index 6559bc3f7..ca917013b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java @@ -38,7 +38,7 @@ public enum ApproverSpecifyRangeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyRangeEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java index 42d76329f..cd0ec65a4 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java @@ -39,7 +39,7 @@ public enum ApproverSpecifyRangeUnitEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyRangeUnitEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java index a57c5cda7..315e8a135 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java @@ -1,6 +1,5 @@ package cn.axzo.workflow.common.enums; -import com.alibaba.fastjson.annotation.JSONCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; @@ -36,7 +35,7 @@ public enum AttachmentTypeEnum { return type; } - @JSONCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AttachmentTypeEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java index 909889ea4..0863126aa 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java @@ -96,7 +96,7 @@ public enum BpmnButtonEnum { this.supportBizType = supportBizType; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnButtonEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java index 334b0f459..f17c84e8d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java @@ -60,7 +60,7 @@ public enum BpmnCountersignTypeEnum { return null; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnCountersignTypeEnum fromValue(String value) { if (value == null) { return UNKNOW; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java index 4f83dc4f1..6f897221d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java @@ -35,7 +35,7 @@ public enum BpmnFlowNodeMode { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnFlowNodeMode fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java index e7433b9a7..ac4edeb35 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java @@ -53,7 +53,7 @@ public enum BpmnFlowNodeType { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnFlowNodeType fromValue(String value) { if (!StringUtils.hasText(value)) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java index 369441cbd..98187444c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java @@ -41,7 +41,7 @@ public enum BpmnNoticeEnum { return key; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnNoticeEnum fromValue(String key) { if (key == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java index dd1944d91..c9237699c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java @@ -48,7 +48,7 @@ public enum BpmnProcessInstanceResultEnum { .orElse(DELETED); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnProcessInstanceResultEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java index dc332fd29..98e88c547 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java @@ -38,7 +38,7 @@ public enum BpmnProcessTaskResultEnum { return status; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnProcessTaskResultEnum fromValue(String status) { if (status == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java index 822639b90..f4b3c2795 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java @@ -39,7 +39,7 @@ public enum BpmnReminderType { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnReminderType fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java index 416339cb8..340f8d2d0 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java @@ -40,7 +40,7 @@ public enum BpmnSignType { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnSignType fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java index 1b5f0c8ad..72599fa4c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java @@ -28,7 +28,7 @@ public enum BusinessTypeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BusinessTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java index 0df3ce451..ac824fbc1 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java @@ -34,7 +34,7 @@ public enum ButtonVisibleScopeEnum { return status; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ButtonVisibleScopeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java index ac7bb4f0e..9138ded5e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java @@ -64,7 +64,7 @@ public enum CarbonCopyObjectType { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static CarbonCopyObjectType fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java index 40236162b..cb939038f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java @@ -47,7 +47,7 @@ public enum CooperateShipTypeEnum { return desc; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static CooperateShipTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java index 17bff4d46..314023972 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ExtModelStateFieldEnum.java @@ -20,7 +20,7 @@ public enum ExtModelStateFieldEnum { unknown, ; - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ExtModelStateFieldEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java index a460f8eae..93051cb14 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java @@ -41,7 +41,7 @@ public enum FileTypeEnum { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static FileTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java index 6154f4e85..4b497726b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java @@ -35,7 +35,7 @@ public enum InitiatorSpecifiedRangeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static InitiatorSpecifiedRangeEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java index 29960e118..c959d6d7b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java @@ -38,7 +38,7 @@ public enum ModelBizTypeEnum { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ModelBizTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java index 15abf1539..3066e1240 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/OrderEnum.java @@ -19,7 +19,7 @@ public enum OrderEnum { @JsonEnumDefaultValue UNKNOWN; - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static OrderEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java index 72afecfb2..305e63223 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/PrintFieldCategoryEnum.java @@ -27,7 +27,7 @@ public enum PrintFieldCategoryEnum { unknown, ; - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static PrintFieldCategoryEnum fromValue(String value) { if (value == null) { return unknown; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java index b20375808..cca2b12d9 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java @@ -45,7 +45,7 @@ public enum SignApproverOrgLimitEnum { return fromValue(type); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static SignApproverOrgLimitEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java index 895132917..a6ed1251e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java @@ -40,7 +40,7 @@ public enum SignApproverRoleLimitEnum { .orElse(null); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static SignApproverRoleLimitEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java index 0af9c934f..222df93e0 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/TimeQueryDirection.java @@ -23,7 +23,7 @@ public enum TimeQueryDirection { UNKNOWN, ; - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static TimeQueryDirection fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java index 1929efad5..009bf873f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java @@ -32,7 +32,7 @@ public enum VarTypeEnum { return type; } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static VarTypeEnum fromValue(String value) { if (value == null) { return UNKNOWN; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java index 656f6dd2a..b7a719b6d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java @@ -39,7 +39,7 @@ public enum WorkspaceType { .orElse(null); } - @JsonCreator + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static WorkspaceType fromValue(String value) { if (value == null) { return UN_KNOW; From 8a4223f5c241f41ca3a9dca2ea00ff3a5d1fbc22 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 17:10:35 +0800 Subject: [PATCH 06/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java index 315e8a135..e8f174397 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java @@ -1,5 +1,6 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; From 95373c054cc94cf5a0bc26074c9b17884daf4400 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 17:16:10 +0800 Subject: [PATCH 07/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/enums/BpmnProcessInstanceResultEnum.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java index c9237699c..7058eae57 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java @@ -42,6 +42,9 @@ public enum BpmnProcessInstanceResultEnum { return status; } + public static BpmnProcessInstanceResultEnum valueOfDesc(String desc) { + return Arrays.stream(values()).filter(it -> it.getDesc().equals(desc)).findFirst().orElse(DELETED); + } public static BpmnProcessInstanceResultEnum valueOfStatus(String status) { return Arrays.stream(values()).filter(it -> it.getStatus().equals(status)).findFirst() From 1a88a8cb4b79bed657210ae2a53822f1730724f9 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 17:24:04 +0800 Subject: [PATCH 08/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/AutoApprovalTypeEnum.java | 14 ++++++++++++++ .../axzo/workflow/common/enums/BpmnButtonEnum.java | 2 ++ 2 files changed, 16 insertions(+) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java index 89117c49d..c9f12252c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java @@ -1,10 +1,13 @@ package cn.axzo.workflow.common.enums; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import org.springframework.util.StringUtils; +import java.util.Arrays; + /** * 自动过审参数 */ @@ -42,4 +45,15 @@ public enum AutoApprovalTypeEnum { } return null; } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static AutoApprovalTypeEnum fromValue(String value) { + if (value == null) { + return UNKNOWN; + } + return Arrays.stream(values()) + .filter(e -> e.getType().equalsIgnoreCase(value)) + .findFirst() + .orElse(UNKNOWN); + } } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java index 0863126aa..1f36a883b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import com.fasterxml.jackson.annotation.JsonValue; import com.google.common.collect.Lists; import lombok.Getter; @@ -75,6 +76,7 @@ public enum BpmnButtonEnum { /** * 兜底 */ + @JsonEnumDefaultValue UNKNOWN(99, "UNKNOWN", "未知", Lists.newArrayList()), ; From 555328129e9616513af8e2ca4520cca0e2ebc03c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 18:16:30 +0800 Subject: [PATCH 09/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java index c9f12252c..11c8ce78f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java @@ -52,7 +52,7 @@ public enum AutoApprovalTypeEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } From fb813230320d1aa7dbd8b97079d58dd08ddc6126 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 29 Aug 2025 18:36:57 +0800 Subject: [PATCH 10/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/common/enums/AdminDataSource.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/AdminRoleType.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java | 2 +- .../java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java | 2 +- .../main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java index d94346c11..174dcc73a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java @@ -34,7 +34,7 @@ public enum AdminDataSource { return UNKNOWN; } return Arrays.stream(AdminDataSource.values()) - .filter(v -> v.getType().equalsIgnoreCase(value)) + .filter(v -> v.getType().equalsIgnoreCase(value) || v.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java index b6a25a0d6..70125e724 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java @@ -35,7 +35,7 @@ public enum AdminRoleType { return UNKNOWN; } return Arrays.stream(AdminRoleType.values()) - .filter(v -> v.getType().equalsIgnoreCase(value)) + .filter(v -> v.getType().equalsIgnoreCase(value) || v.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java index 6542d9422..9aef9d139 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java @@ -37,7 +37,7 @@ public enum AdminTypeEnum { return UNKNOWN; } return Arrays.stream(AdminTypeEnum.values()) - .filter(v -> v.getType().equalsIgnoreCase(value)) + .filter(v -> v.getType().equalsIgnoreCase(value) || v.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java index 72599fa4c..a53afbe9e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java @@ -34,7 +34,7 @@ public enum BusinessTypeEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(v -> v.getType().equalsIgnoreCase(value)) + .filter(v -> v.getType().equalsIgnoreCase(value) || v.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java index 93051cb14..6de56e0fe 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java @@ -47,7 +47,7 @@ public enum FileTypeEnum { return UNKNOWN; } return Arrays.stream(FileTypeEnum.values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java index 009bf873f..95249b8bc 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java @@ -38,7 +38,7 @@ public enum VarTypeEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } From de8874a18b6331ca85f5f82a59bdcdc28bc27547 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 1 Sep 2025 09:39:20 +0800 Subject: [PATCH 11/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E4=B8=8E=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/workflow/common/enums/AdminDataSource.java | 6 ------ .../cn/axzo/workflow/common/enums/AdminRoleType.java | 6 ------ .../cn/axzo/workflow/common/enums/AdminTypeEnum.java | 6 ------ .../workflow/common/enums/AutoApprovalTypeEnum.java | 6 ------ .../axzo/workflow/common/enums/BusinessTypeEnum.java | 6 ------ .../workflow/common/enums/CooperateShipTypeEnum.java | 10 ++-------- .../cn/axzo/workflow/common/enums/FileTypeEnum.java | 6 ------ .../cn/axzo/workflow/common/enums/VarTypeEnum.java | 6 ------ 8 files changed, 2 insertions(+), 50 deletions(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java index 174dcc73a..0f37a9e7b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminDataSource.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -18,11 +17,6 @@ public enum AdminDataSource { private final String type; private final String desc; - @JsonValue - public String getType() { - return type; - } - AdminDataSource(String type, String desc) { this.type = type; this.desc = desc; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java index 70125e724..00b972891 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminRoleType.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -19,11 +18,6 @@ public enum AdminRoleType { private final String type; private final String desc; - @JsonValue - public String getType() { - return type; - } - AdminRoleType(String type, String desc) { this.type = type; this.desc = desc; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java index 9aef9d139..030a78875 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AdminTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -21,11 +20,6 @@ public enum AdminTypeEnum { private final String type; private final String desc; - @JsonValue - public String getType() { - return type; - } - AdminTypeEnum(String type, String desc) { this.type = type; this.desc = desc; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java index 11c8ce78f..31708c7dd 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import org.springframework.util.StringUtils; @@ -29,11 +28,6 @@ public enum AutoApprovalTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static AutoApprovalTypeEnum fromType(String type) { if (!StringUtils.hasText(type)) { return null; diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java index a53afbe9e..3c004526c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BusinessTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -23,11 +22,6 @@ public enum BusinessTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BusinessTypeEnum fromValue(String value) { if (value == null) { diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java index cb939038f..3a00cd75d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CooperateShipTypeEnum.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; +import lombok.Getter; import java.util.Arrays; @@ -13,6 +14,7 @@ import java.util.Arrays; * @author wangli * @since 2025-08-13 14:51 */ +@Getter public enum CooperateShipTypeEnum { PROJ_PRIMARY_CONTRACTING_UNIT(1, "施工总承包"), PROJ_CONSTRUCTION_UNIT(2, "建设单位"), @@ -39,14 +41,6 @@ public enum CooperateShipTypeEnum { this.desc = desc; } - public Integer getCode() { - return code; - } - - public String getDesc() { - return desc; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static CooperateShipTypeEnum fromValue(String value) { if (value == null) { diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java index 6de56e0fe..08a8efa6b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/FileTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -32,11 +31,6 @@ public enum FileTypeEnum { this.suffix = suffix; } - @JsonValue - public String getType() { - return type; - } - public static FileTypeEnum valueOfType(String type) { return fromValue(type); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java index 95249b8bc..050405ea5 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/VarTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -27,11 +26,6 @@ public enum VarTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static VarTypeEnum fromValue(String value) { if (value == null) { From 7dbca966f3aa8316a7a66de9acfe279154ad05ca Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 09:59:27 +0800 Subject: [PATCH 12/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/enums/ApprovalMethodEnum.java | 8 +------- .../common/enums/ApproverEmptyHandleTypeEnum.java | 8 +------- .../axzo/workflow/common/enums/ApproverScopeEnum.java | 8 +------- .../workflow/common/enums/ApproverSpecifyEnum.java | 8 +------- .../common/enums/ApproverSpecifyRangeEnum.java | 8 +------- .../common/enums/ApproverSpecifyRangeUnitEnum.java | 8 +------- .../workflow/common/enums/AttachmentTypeEnum.java | 8 +------- .../workflow/common/enums/AutoApprovalTypeEnum.java | 11 +---------- .../cn/axzo/workflow/common/enums/BpmnButtonEnum.java | 8 +------- .../common/enums/BpmnCountersignTypeEnum.java | 8 +------- .../axzo/workflow/common/enums/BpmnFlowNodeMode.java | 8 +------- .../axzo/workflow/common/enums/BpmnFlowNodeType.java | 8 +------- .../cn/axzo/workflow/common/enums/BpmnNoticeEnum.java | 8 +------- .../common/enums/BpmnProcessInstanceResultEnum.java | 8 +------- .../common/enums/BpmnProcessTaskResultEnum.java | 8 +------- .../axzo/workflow/common/enums/BpmnReminderType.java | 8 +------- .../cn/axzo/workflow/common/enums/BpmnSignType.java | 9 +-------- .../workflow/common/enums/ButtonVisibleScopeEnum.java | 8 +------- .../workflow/common/enums/CarbonCopyObjectType.java | 9 +-------- .../common/enums/InitiatorSpecifiedRangeEnum.java | 8 +------- .../axzo/workflow/common/enums/ModelBizTypeEnum.java | 8 +------- .../common/enums/SignApproverOrgLimitEnum.java | 8 +------- .../common/enums/SignApproverRoleLimitEnum.java | 8 +------- .../cn/axzo/workflow/common/enums/WorkspaceType.java | 4 +--- 24 files changed, 24 insertions(+), 169 deletions(-) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java index e8417e769..d5539405d 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApprovalMethodEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -37,18 +36,13 @@ public enum ApprovalMethodEnum { this.remark = remark; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApprovalMethodEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java index 39e963eca..bdc2e9e1e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverEmptyHandleTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -31,18 +30,13 @@ public enum ApproverEmptyHandleTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverEmptyHandleTypeEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java index a771c06c4..159831ac0 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverScopeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -34,18 +33,13 @@ public enum ApproverScopeEnum { this.processor = processor; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApprovalMethodEnum fromValue(String value) { if (value == null) { return ApprovalMethodEnum.unknown; } return Arrays.stream(ApprovalMethodEnum.values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(ApprovalMethodEnum.unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java index 98bdfd170..c7f12ce4c 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -50,18 +49,13 @@ public enum ApproverSpecifyEnum { this.version = version; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java index ca917013b..53d634a75 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -33,18 +32,13 @@ public enum ApproverSpecifyRangeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyRangeEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java index cd0ec65a4..281a749ae 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ApproverSpecifyRangeUnitEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -34,18 +33,13 @@ public enum ApproverSpecifyRangeUnitEnum { this.value = value; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApproverSpecifyRangeUnitEnum fromValue(String value) { if (value == null) { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java index e8f174397..e09e24a79 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AttachmentTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -31,18 +30,13 @@ public enum AttachmentTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AttachmentTypeEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java index 31708c7dd..dd764f2e1 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/AutoApprovalTypeEnum.java @@ -3,7 +3,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import lombok.Getter; -import org.springframework.util.StringUtils; import java.util.Arrays; @@ -29,15 +28,7 @@ public enum AutoApprovalTypeEnum { } public static AutoApprovalTypeEnum fromType(String type) { - if (!StringUtils.hasText(type)) { - return null; - } - for (AutoApprovalTypeEnum typeEnum : AutoApprovalTypeEnum.values()) { - if (typeEnum.type.equals(type)) { - return typeEnum; - } - } - return null; + return fromValue(type); } @JsonCreator(mode = JsonCreator.Mode.DELEGATING) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java index 1f36a883b..9ce2bd15f 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnButtonEnum.java @@ -3,7 +3,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import com.google.common.collect.Lists; import lombok.Getter; @@ -80,11 +79,6 @@ public enum BpmnButtonEnum { UNKNOWN(99, "UNKNOWN", "未知", Lists.newArrayList()), ; - @JsonValue - public String getBtnKey() { - return btnKey; - } - private final int order; private final String btnKey; private final String btnName; @@ -104,7 +98,7 @@ public enum BpmnButtonEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getBtnKey().equalsIgnoreCase(value)) + .filter(e -> e.getBtnKey().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java index f17c84e8d..5566672a3 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnCountersignTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import org.apache.commons.lang3.StringUtils; @@ -42,11 +41,6 @@ public enum BpmnCountersignTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static BpmnCountersignTypeEnum valueOfType(String countersignType) { if (StringUtils.isBlank(countersignType)) { return null; @@ -66,7 +60,7 @@ public enum BpmnCountersignTypeEnum { return UNKNOW; } return Arrays.stream(values()) - .filter(v -> v.getType().equalsIgnoreCase(value)) + .filter(v -> v.getType().equalsIgnoreCase(value) || v.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOW); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java index 6f897221d..8684c34a5 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeMode.java @@ -3,7 +3,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -26,11 +25,6 @@ public enum BpmnFlowNodeMode { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static BpmnFlowNodeMode valueOfType(String type) { return fromValue(type); } @@ -41,7 +35,7 @@ public enum BpmnFlowNodeMode { return UNKNOWN; } return Arrays.stream(BpmnFlowNodeMode.values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java index ac4edeb35..5b19c7bca 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnFlowNodeType.java @@ -3,7 +3,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import org.springframework.util.StringUtils; @@ -40,11 +39,6 @@ public enum BpmnFlowNodeType { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static BpmnFlowNodeType getByType(String type) { return fromValue(type); } @@ -59,7 +53,7 @@ public enum BpmnFlowNodeType { return UNKNOWN; } return Arrays.stream(BpmnFlowNodeType.values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java index 98187444c..168187288 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnNoticeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -36,18 +35,13 @@ public enum BpmnNoticeEnum { this.desc = desc; } - @JsonValue - public String getKey() { - return key; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnNoticeEnum fromValue(String key) { if (key == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getKey().equalsIgnoreCase(key)) + .filter(e -> e.getKey().equalsIgnoreCase(key) || e.name().equalsIgnoreCase(key)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java index 7058eae57..4ae46cef7 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessInstanceResultEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -37,11 +36,6 @@ public enum BpmnProcessInstanceResultEnum { this.desc = desc; } - @JsonValue - public String getStatus() { - return status; - } - public static BpmnProcessInstanceResultEnum valueOfDesc(String desc) { return Arrays.stream(values()).filter(it -> it.getDesc().equals(desc)).findFirst().orElse(DELETED); } @@ -57,7 +51,7 @@ public enum BpmnProcessInstanceResultEnum { return UNKNOWN; } return Arrays.stream(BpmnProcessInstanceResultEnum.values()) - .filter(e -> e.getStatus().equalsIgnoreCase(value)) + .filter(e -> e.getStatus().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java index 98e88c547..5d21526f0 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnProcessTaskResultEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -33,18 +32,13 @@ public enum BpmnProcessTaskResultEnum { this.desc = desc; } - @JsonValue - public String getStatus() { - return status; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnProcessTaskResultEnum fromValue(String status) { if (status == null) { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getStatus().equalsIgnoreCase(status)) + .filter(e -> e.getStatus().equalsIgnoreCase(status) || e.name().equalsIgnoreCase(status)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java index f4b3c2795..e6aa1e54e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnReminderType.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -34,18 +33,13 @@ public enum BpmnReminderType { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BpmnReminderType fromValue(String value) { if (value == null) { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java index 340f8d2d0..54eec84f2 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/BpmnSignType.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -30,12 +29,6 @@ public enum BpmnSignType { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - - public static BpmnSignType valueOfType(String type) { return fromValue(type); } @@ -46,7 +39,7 @@ public enum BpmnSignType { return UNKNOWN; } return Arrays.stream(BpmnSignType.values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java index ac824fbc1..aa753b2a9 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ButtonVisibleScopeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -29,18 +28,13 @@ public enum ButtonVisibleScopeEnum { this.desc = desc; } - @JsonValue - public String getStatus() { - return status; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ButtonVisibleScopeEnum fromValue(String value) { if (value == null) { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getStatus().equalsIgnoreCase(value)) + .filter(e -> e.getStatus().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java index 9138ded5e..e58b49078 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/CarbonCopyObjectType.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -54,12 +53,6 @@ public enum CarbonCopyObjectType { this.processor = processor; } - @JsonValue - public String getType() { - return type; - } - - public static CarbonCopyObjectType valueOfType(String type) { return fromValue(type); } @@ -70,7 +63,7 @@ public enum CarbonCopyObjectType { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java index 4b497726b..85fa12371 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/InitiatorSpecifiedRangeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -30,18 +29,13 @@ public enum InitiatorSpecifiedRangeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static InitiatorSpecifiedRangeEnum fromValue(String value) { if (value == null) { return unknown; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(unknown); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java index c959d6d7b..21567656a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/ModelBizTypeEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -29,11 +28,6 @@ public enum ModelBizTypeEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static ModelBizTypeEnum valueOfType(String type) { return fromValue(type); } @@ -44,7 +38,7 @@ public enum ModelBizTypeEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java index cca2b12d9..ea6d6f567 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverOrgLimitEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -36,11 +35,6 @@ public enum SignApproverOrgLimitEnum { this.code = code; } - @JsonValue - public String getType() { - return type; - } - public static SignApproverOrgLimitEnum valueOfType(String type) { return fromValue(type); } @@ -51,7 +45,7 @@ public enum SignApproverOrgLimitEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java index a6ed1251e..996b2e136 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/SignApproverRoleLimitEnum.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.common.enums; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; -import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Arrays; @@ -28,11 +27,6 @@ public enum SignApproverRoleLimitEnum { this.desc = desc; } - @JsonValue - public String getType() { - return type; - } - public static SignApproverRoleLimitEnum valueOfType(String type) { return Arrays.stream(SignApproverRoleLimitEnum.values()) .filter(i -> Objects.equals(i.getType(), type)) @@ -46,7 +40,7 @@ public enum SignApproverRoleLimitEnum { return UNKNOWN; } return Arrays.stream(values()) - .filter(e -> e.getType().equalsIgnoreCase(value)) + .filter(e -> e.getType().equalsIgnoreCase(value) || e.name().equalsIgnoreCase(value)) .findFirst() .orElse(UNKNOWN); } diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java index b7a719b6d..99d3c414e 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/enums/WorkspaceType.java @@ -34,9 +34,7 @@ public enum WorkspaceType { } public static WorkspaceType getType(Integer code) { - return Arrays.stream(values()).filter(it -> it.getCode().equals(code)) - .findFirst() - .orElse(null); + return fromValue(String.valueOf(code)); } @JsonCreator(mode = JsonCreator.Mode.DELEGATING) From 9853a204aec0442da496a59d7112bc262b324ca0 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 16:07:58 +0800 Subject: [PATCH 13/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=20API=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/feign/manage/FunctionApi.java | 50 +++++++++++++++ .../feature/DingTalkStarterAlterDTO.java | 26 ++++++++ .../model/request/feature/EnumQueryDTO.java | 29 +++++++++ .../workflow/server/alter/DingTalkAlter.java | 34 ++++++++-- .../web/es/ElasticSearchController.java | 2 + .../web/manage/FunctionController.java | 63 +++++++++++++++++++ .../starter/api/WorkflowCoreService.java | 55 +++++++++++++++- .../starter/api/WorkflowManageService.java | 31 +++++---- 8 files changed, 265 insertions(+), 25 deletions(-) create mode 100644 workflow-engine-api/src/main/java/cn/axzo/workflow/client/feign/manage/FunctionApi.java create mode 100644 workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/DingTalkStarterAlterDTO.java create mode 100644 workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/EnumQueryDTO.java create mode 100644 workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/FunctionController.java diff --git a/workflow-engine-api/src/main/java/cn/axzo/workflow/client/feign/manage/FunctionApi.java b/workflow-engine-api/src/main/java/cn/axzo/workflow/client/feign/manage/FunctionApi.java new file mode 100644 index 000000000..821818f3a --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/workflow/client/feign/manage/FunctionApi.java @@ -0,0 +1,50 @@ +package cn.axzo.workflow.client.feign.manage; + +import cn.axzo.workflow.client.annotation.WorkflowEngineFeignClient; +import cn.axzo.workflow.common.annotation.InvokeMode; +import cn.axzo.workflow.common.annotation.Manageable; +import cn.axzo.workflow.common.enums.AdminDataSource; +import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; +import cn.azxo.framework.common.model.CommonResponse; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; + +/** + * 一些功能性 API + * + * @author wangli + * @since 2025-09-02 14:40 + */ +@WorkflowEngineFeignClient +public interface FunctionApi { + + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/admin-data-source/get") + @Manageable + @InvokeMode(SYNC) + CommonResponse getAdminDataSourceEnum(@RequestParam String enumValue); + + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/process-instance-result/get") + @Manageable + @InvokeMode(SYNC) + CommonResponse getFileTypeEnum(@RequestParam String enumValue); + + /** + * 用于 Starter 检测必接事件的告警 + * + * @param dto + * @return + */ + @Operation(summary = "发送钉钉消息") + @PostMapping("/api/function/dingtalk/alter") + @InvokeMode(SYNC) + CommonResponse sendDingtalk(@Validated @RequestBody DingTalkStarterAlterDTO dto); +} diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/DingTalkStarterAlterDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/DingTalkStarterAlterDTO.java new file mode 100644 index 000000000..33aea2707 --- /dev/null +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/DingTalkStarterAlterDTO.java @@ -0,0 +1,26 @@ +package cn.axzo.workflow.common.model.request.feature; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 钉钉告警内容对象 + * + * @author wangli + * @since 2025-09-02 15:24 + */ +@ApiModel("钉钉告警内容对象") +@Data +public class DingTalkStarterAlterDTO { + + @NotBlank(message = "环境信息不能为空") + private String profile; + + @NotBlank(message = "应用名称不能为空") + private String applicationName; + + @NotBlank(message = "告警内容不能为空") + private String alterContent; +} diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/EnumQueryDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/EnumQueryDTO.java new file mode 100644 index 000000000..016e70c6d --- /dev/null +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/feature/EnumQueryDTO.java @@ -0,0 +1,29 @@ +package cn.axzo.workflow.common.model.request.feature; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 枚举查询对象 + * + * @author wangli + * @since 2025-09-02 15:17 + */ +@ApiModel("枚举查询对象") +@Data +public class EnumQueryDTO { + + /** + * 枚举类全路径 + */ + @NotBlank(message = "枚举类全路径不能为空") + private String enumClz; + + /** + * 枚举值 + */ + @NotBlank(message = "枚举值不能为空") + private String enumValue; +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index dc348e2be..e23d485b3 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -7,6 +7,7 @@ import cn.axzo.riven.client.model.SampleMarkdown; import cn.axzo.riven.client.req.DingDingSendRebootGroupMsgReq; import cn.axzo.workflow.common.model.NextNodePreCheckAlterDTO; import cn.axzo.workflow.common.model.dto.AlterDTO; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.axzo.workflow.core.conf.SupportRefreshProperties; import cn.axzo.workflow.core.listener.Alter; import cn.axzo.workflow.core.util.DingTalkUtils; @@ -45,19 +46,42 @@ public class DingTalkAlter implements Alter { if (obj instanceof AlterDTO) { AlterDTO alterDTO = (AlterDTO) obj; if (Objects.equals(profile, "master")) { - DingTalkUtils.sendDingTalkForBizNodeAlter(profile, alterDTO, refreshProperties.getAlterMobiles()); - } else { rivenDingtalk(alterDTO); + } else { + DingTalkUtils.sendDingTalkForBizNodeAlter(profile, alterDTO, refreshProperties.getAlterMobiles()); } } if (obj instanceof NextNodePreCheckAlterDTO) { NextNodePreCheckAlterDTO alterDTO = (NextNodePreCheckAlterDTO) obj; - if(Objects.equals(profile, "master")){ - DingTalkUtils.sendDingTalkForNodePreCheck(profile, alterDTO, refreshProperties.getAlterMobiles()); - } else { + if (Objects.equals(profile, "master")) { rivenDingtalkForNodePreCheck(alterDTO); + } else { + DingTalkUtils.sendDingTalkForNodePreCheck(profile, alterDTO, refreshProperties.getAlterMobiles()); } } + + if (obj instanceof DingTalkStarterAlterDTO) { + rivenDingtalkForStarter((DingTalkStarterAlterDTO) obj); + } + } + + private void rivenDingtalkForStarter(DingTalkStarterAlterDTO alterDTO) { + DingDingSendRebootGroupMsgReq req = new DingDingSendRebootGroupMsgReq(); + req.setDingDingScene("WORKFLOW_ENGINE_BIZNODE_ALTER"); + String title = "Notice 审批模板节点预检查告警, Env: " + profile; + String text = "#### [" + profile + "]应用必接事件告警\n" + + "> 应用名称:" + alterDTO.getApplicationName() + "\n\n" + + "> 检测信息:" + alterDTO.getAlterContent() + "\n\n" + + mobiles(refreshProperties.getAlterMobiles()); + SampleMarkdown markdown = new SampleMarkdown(title, text); + JSONObject markdownJson = JSONObject.parseObject(markdown.toJson()); + JSONObject atMobiles = new JSONObject(); + atMobiles.put("atMobiles", refreshProperties.getAlterMobiles()); + markdownJson.put("at", atMobiles); + markdownJson.put("isAtAll", false); + req.setDingDingJson(markdownJson.toJSONString()); + req.setMsgType(DingTalkMsgTypeEnum.sampleMarkdown); + dingDingMsgApi.sendRebootGroupMsg(req); } private void rivenDingtalkForNodePreCheck(NextNodePreCheckAlterDTO alterDTO) { diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/es/ElasticSearchController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/es/ElasticSearchController.java index 1d121a4b5..9e9e4565c 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/es/ElasticSearchController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/es/ElasticSearchController.java @@ -8,6 +8,7 @@ import cn.axzo.workflow.common.model.response.es.ProcessInstanceDocumentVO; import cn.axzo.workflow.common.model.response.es.ProcessTaskDocumentVO; import cn.axzo.workflow.es.service.aggregation.AggregateProcessInstanceService; import cn.axzo.workflow.es.service.aggregation.AggregateProcessTaskService; +import cn.axzo.workflow.server.common.annotation.ErrorReporter; import cn.azxo.framework.common.model.CommonResponse; import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; @@ -30,6 +31,7 @@ import java.util.List; @Slf4j @RequestMapping({"/web/v1/api/es", "/api/es"}) @RestController +@ErrorReporter @Validated public class ElasticSearchController implements EsProcessInstanceApi { @Resource diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/FunctionController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/FunctionController.java new file mode 100644 index 000000000..d6cb3a36a --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/FunctionController.java @@ -0,0 +1,63 @@ +package cn.axzo.workflow.server.controller.web.manage; + +import cn.axzo.workflow.client.feign.manage.FunctionApi; +import cn.axzo.workflow.common.enums.AdminDataSource; +import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; +import cn.axzo.workflow.server.alter.DingTalkAlter; +import cn.axzo.workflow.server.common.annotation.ErrorReporter; +import cn.azxo.framework.common.model.CommonResponse; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 功能性 API 控制器 + * + * @author wangli + * @since 2025-09-02 14:44 + */ +@Slf4j +@RequestMapping({"/web/v1/api/function", "/api/function"}) +@RestController +@ErrorReporter +@Validated +public class FunctionController implements FunctionApi { + @Resource + private DingTalkAlter dingTalkAlter; + + /** + * 获取指定枚举类型的枚举值信息 + * + * @param enumValue + * @return + */ + @Operation(summary = "获取指定枚举类型的枚举值信息") + @Override + @GetMapping("/enum/admin-data-source/get") + public CommonResponse getAdminDataSourceEnum(String enumValue) { + return CommonResponse.success(AdminDataSource.fromValue(enumValue)); + } + + @Operation(summary = "获取指定枚举类型的枚举值信息") + @Override + @GetMapping("/enum/process-instance-result/get") + public CommonResponse getFileTypeEnum(String enumValue) { + return CommonResponse.success(BpmnProcessInstanceResultEnum.fromValue(enumValue)); + } + + @Operation(summary = "发送钉钉消息") + @PostMapping("/dingtalk/alter") + @Override + public CommonResponse sendDingtalk(@Validated @RequestBody DingTalkStarterAlterDTO dto) { + dingTalkAlter.invoke(dto); + return CommonResponse.success(true); + } +} diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java index a056b3116..f8bacce7f 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java @@ -1,13 +1,16 @@ package cn.axzo.workflow.starter.api; import cn.axzo.workflow.common.annotation.InvokeMode; +import cn.axzo.workflow.common.enums.AdminDataSource; import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.SignFileDTO; import cn.axzo.workflow.common.model.dto.SimpleDocDTO; import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO; +import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BeforeProcessInstanceCreateDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO; +import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceBatchQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCancelDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCarbonCopyDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCheckApproverDTO; @@ -31,6 +34,7 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskCountersignDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskRemindDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskResetApproversDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskTransferDTO; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.axzo.workflow.common.model.request.form.definition.StartFormSearchDTO; import cn.axzo.workflow.common.model.request.form.instance.FormDetailDTO; import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; @@ -70,6 +74,28 @@ import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; @org.springframework.cloud.openfeign.FeignClient(name = "workflow-engine", url = "${axzo.service.workflow-engine:http://workflow-engine:8080}", configuration = WorkflowEngineStarterFeignConfiguration.class) public interface WorkflowCoreService { + /** + * 查询指定审批流程是否能打印,打印开关是否开启,是否存在打印模板 + * + * @param processInstanceId + * @return + */ + @Operation(summary = "查询指定审批流程是否能打印,打印开关是否开启,是否存在打印模板") + @GetMapping("/api/print/admin/template/exists") + @InvokeMode(SYNC) + Boolean hasPrintTemplate(@NotBlank(message = "流程实例不能为空") @RequestParam String processInstanceId); + + /** + * 打印模板配置内容更新保存 + * + * @param dto + * @return + */ + @Operation(summary = "打印模板配置内容更新保存") + @PostMapping("/api/print/admin/template/upsert") + @InvokeMode(SYNC) + Void printTemplateConfig(@Validated @RequestBody PrintTemplateConfigUpsertDTO dto); + /** * 业务节点唤醒 * @@ -115,6 +141,21 @@ public interface WorkflowCoreService { @InvokeMode(SYNC) Boolean setTimeoutCallback(@Validated @RequestBody BpmnActivityTimeoutCallbackDTO dto); + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/admin-data-source/get") + @InvokeMode(SYNC) + AdminDataSource getAdminDataSourceEnum(@RequestParam String enumValue); + + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/process-instance-result/get") + @InvokeMode(SYNC) + BpmnProcessInstanceResultEnum getFileTypeEnum(@RequestParam String enumValue); + + @Operation(summary = "发送钉钉消息") + @PostMapping("/api/function/dingtalk/alter") + @InvokeMode(SYNC) + Boolean sendDingtalk(@Validated @RequestBody DingTalkStarterAlterDTO dto); + /** * 获取指定审批业务的流程表单设置, * @param dto @@ -137,9 +178,6 @@ public interface WorkflowCoreService { @InvokeMode(SYNC) FormInstanceVO getFormInstance(@Validated @RequestBody FormDetailDTO dto); - @GetMapping("/api/process/instance/enum") - BpmnProcessInstanceResultEnum getEnum(@RequestParam String value); - /** * 创建流程前的节点列表 * 用于发起人自选 @@ -228,6 +266,17 @@ public interface WorkflowCoreService { @InvokeMode(SYNC) BpmnProcessInstanceVO getProcessInstanceVO(@Validated @RequestBody BpmnProcessInstanceQueryDTO dto); + /** + * 批量获得流程实例 + * + * @param dto + * @return + */ + @Operation(summary = "批量获得流程实例") + @PostMapping("/api/process/instance/batch/get") + @InvokeMode(SYNC) + List getBatchProcessInstanceVO(@Validated @RequestBody BpmnProcessInstanceBatchQueryDTO dto); + /** * 获取指定流程实例的流程变量 * diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java index 58d45fe2f..05efbb7f1 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java @@ -24,7 +24,6 @@ import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocTenantQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.model.doc.DocUpdateDTO; import cn.axzo.workflow.common.model.request.bpmn.print.PrintFieldQueryDTO; import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigQueryDTO; -import cn.axzo.workflow.common.model.request.bpmn.print.PrintTemplateConfigUpsertDTO; import cn.axzo.workflow.common.model.request.bpmn.print.RestPrintTemplateConfigDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessDefinitionPageDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO; @@ -97,18 +96,27 @@ import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC; @org.springframework.cloud.openfeign.FeignClient(name = "workflow-engine", url = "${axzo.service.workflow-engine:http://workflow-engine:8080}", configuration = WorkflowEngineStarterFeignConfiguration.class) public interface WorkflowManageService { - @Operation(summary = "查询指定审批流程是否能打印,打印开关是否开启,是否存在打印模板") - @GetMapping("/api/print/admin/template/exists") - @InvokeMode(SYNC) - Boolean hasPrintTemplate(@NotBlank(message = "流程实例不能为空") @RequestParam String processInstanceId); - + /** + * 获取打印模板中可打印的字段 + * + * @param dto + * @return + */ @Operation(summary = "获取打印模板中可打印的字段") @PostMapping("/api/print/admin/fields") + @Manageable @InvokeMode(SYNC) List getPrintFields(@Validated @RequestBody PrintFieldQueryDTO dto); + /** + * 获取指定流程下用于替换打印的相关变量 + * + * @param processInstanceId + * @return + */ @Operation(summary = "获取指定流程下用于替换打印的相关变量") @GetMapping("/api/print/admin/field/variables") + @Manageable @InvokeMode(SYNC) Map getPrintFieldVariables(@NotBlank(message = "流程实例不能为空") @RequestParam String processInstanceId); @@ -647,17 +655,6 @@ public interface WorkflowManageService { @InvokeMode(SYNC) List getModelTenantIds(); - /** - * 打印模板配置内容更新保存 - * - * @param dto - * @return - */ - @Operation(summary = "打印模板配置内容更新保存") - @PostMapping("/api/process/model/print/template/upsert") - @InvokeMode(SYNC) - Void printTemplateConfig(@Validated @RequestBody PrintTemplateConfigUpsertDTO dto); - /** * 获取打印模板配置内容 * From b42f7621c283c8354e7888dcac70d49312b9b396 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 16:13:25 +0800 Subject: [PATCH 14/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=20API=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkflowEngineStarterAutoConfiguration.java | 5 +++-- .../mq/check/ImplementationReadyChecker.java | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index ad4e66cb0..fba9e97e6 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -1,5 +1,6 @@ package cn.axzo.workflow.starter; +import cn.axzo.workflow.starter.api.WorkflowCoreService; import cn.axzo.workflow.starter.common.enums.FailHandleTypeEnum; import cn.axzo.workflow.starter.common.exception.WorkflowUnsupportedException; import cn.axzo.workflow.starter.handler.MessageNotificationEventHandler; @@ -157,8 +158,8 @@ public class WorkflowEngineStarterAutoConfiguration { } @Bean - public ImplementationReadyChecker implementationReadyChecker() { - return new ImplementationReadyChecker(); + public ImplementationReadyChecker implementationReadyChecker(WorkflowCoreService workflowCoreService) { + return new ImplementationReadyChecker(workflowCoreService); } // @Bean diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index b35297be7..64ae7867e 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -1,6 +1,8 @@ package cn.axzo.workflow.starter.mq.check; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO; +import cn.axzo.workflow.starter.api.WorkflowCoreService; import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.event.ApplicationReadyEvent; @@ -31,6 +33,12 @@ public class ImplementationReadyChecker implements ApplicationListener Date: Tue, 2 Sep 2025 16:14:57 +0800 Subject: [PATCH 15/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=20API=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/starter/mq/check/ImplementationReadyChecker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index 64ae7867e..3439f0242 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -33,7 +33,7 @@ public class ImplementationReadyChecker implements ApplicationListener Date: Tue, 2 Sep 2025 16:51:13 +0800 Subject: [PATCH 16/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=BF=85=E6=8E=A5=E4=BA=8B=E4=BB=B6=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkflowEngineStarterAutoConfiguration.java | 5 +++-- .../starter/mq/check/ImplementationReadyChecker.java | 10 +++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index fba9e97e6..5770407f5 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -158,8 +158,9 @@ public class WorkflowEngineStarterAutoConfiguration { } @Bean - public ImplementationReadyChecker implementationReadyChecker(WorkflowCoreService workflowCoreService) { - return new ImplementationReadyChecker(workflowCoreService); + public ImplementationReadyChecker implementationReadyChecker(WorkflowCoreService workflowCoreService, + Environment environment) { + return new ImplementationReadyChecker(workflowCoreService, environment); } // @Bean diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index 3439f0242..882334864 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; +import org.springframework.core.env.Environment; import java.lang.reflect.Method; import java.util.ArrayList; @@ -34,9 +35,12 @@ public class ImplementationReadyChecker implements ApplicationListener Date: Tue, 2 Sep 2025 17:01:08 +0800 Subject: [PATCH 17/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E7=9A=84=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index e23d485b3..f577b9651 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -68,7 +68,7 @@ public class DingTalkAlter implements Alter { private void rivenDingtalkForStarter(DingTalkStarterAlterDTO alterDTO) { DingDingSendRebootGroupMsgReq req = new DingDingSendRebootGroupMsgReq(); req.setDingDingScene("WORKFLOW_ENGINE_BIZNODE_ALTER"); - String title = "Notice 审批模板节点预检查告警, Env: " + profile; + String title = "Notice 应用必接事件告警, Env: " + profile; String text = "#### [" + profile + "]应用必接事件告警\n" + "> 应用名称:" + alterDTO.getApplicationName() + "\n\n" + "> 检测信息:" + alterDTO.getAlterContent() + "\n\n" + From 9f72c409a7d214f1782978ca29d960d3c0ee5a31 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 17:46:32 +0800 Subject: [PATCH 18/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8F=AF=E5=BF=BD=E7=95=A5=E7=9A=84=E5=91=8A=E8=AD=A6=E5=BA=94?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/core/conf/SupportRefreshProperties.java | 7 +++++++ .../java/cn/axzo/workflow/server/alter/DingTalkAlter.java | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/SupportRefreshProperties.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/SupportRefreshProperties.java index 3cd9f1903..d3c289a90 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/SupportRefreshProperties.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/SupportRefreshProperties.java @@ -92,4 +92,11 @@ public class SupportRefreshProperties { @Value("${workflow.imTemplateCode:}") private String imTemplateCode; + + /** + * 忽略 MQ 必接事件的告警服务名 + */ + @Value("${workflow.ignoreMqAlterApplicationNames:}") + private List ignoreMqAlterApplicationNames; + } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index f577b9651..fe392dcbe 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -61,7 +61,12 @@ public class DingTalkAlter implements Alter { } if (obj instanceof DingTalkStarterAlterDTO) { - rivenDingtalkForStarter((DingTalkStarterAlterDTO) obj); + DingTalkStarterAlterDTO starterAlterDTO = (DingTalkStarterAlterDTO) obj; + if (refreshProperties.getIgnoreMqAlterApplicationNames().contains(starterAlterDTO.getApplicationName())) { + // 忽略必接事件的应用 + return; + } + rivenDingtalkForStarter(starterAlterDTO); } } From ac6337db9ebb96700302f8ef7a9d6ccf1b613d6d Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 20:17:17 +0800 Subject: [PATCH 19/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E9=92=89=E9=92=89=E5=8F=91=E9=80=81=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0@=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/core/util/DingTalkUtils.java | 18 ++++++++++++++++++ .../workflow/server/alter/DingTalkAlter.java | 10 +++++----- .../server/controller/web/TestController.java | 8 ++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java index 2d096f46b..8e15cc993 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.core.util; import cn.axzo.workflow.common.model.NextNodePreCheckAlterDTO; import cn.axzo.workflow.common.model.dto.AlterDTO; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -202,4 +203,21 @@ public class DingTalkUtils { request.setMarkdown(markdown); sendDingTalk(request); } + + public static void sendDingTalkForStarter(DingTalkStarterAlterDTO dto, List alterMobiles) { + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype("markdown"); + OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); + markdown.setTitle("Notice 审批模板节点预检查告警, Env: " + dto.getProfile()); + markdown.setText("#### [" + dto.getProfile() + "]应用必接事件告警\n" + + "> 应用名称:" + dto.getApplicationName() + "\n\n" + + "> 检测信息:" + dto.getAlterContent() + "\n\n" + + mobiles(alterMobiles)); + request.setMarkdown(markdown); + OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); + at.setAtMobiles(alterMobiles); + at.setIsAtAll(false); + request.setAt(at); + sendDingTalk(request); + } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index fe392dcbe..ea9d9efae 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -46,17 +46,17 @@ public class DingTalkAlter implements Alter { if (obj instanceof AlterDTO) { AlterDTO alterDTO = (AlterDTO) obj; if (Objects.equals(profile, "master")) { - rivenDingtalk(alterDTO); - } else { DingTalkUtils.sendDingTalkForBizNodeAlter(profile, alterDTO, refreshProperties.getAlterMobiles()); + } else { + rivenDingtalk(alterDTO); } } if (obj instanceof NextNodePreCheckAlterDTO) { NextNodePreCheckAlterDTO alterDTO = (NextNodePreCheckAlterDTO) obj; if (Objects.equals(profile, "master")) { - rivenDingtalkForNodePreCheck(alterDTO); - } else { DingTalkUtils.sendDingTalkForNodePreCheck(profile, alterDTO, refreshProperties.getAlterMobiles()); + } else { + rivenDingtalkForNodePreCheck(alterDTO); } } @@ -66,7 +66,7 @@ public class DingTalkAlter implements Alter { // 忽略必接事件的应用 return; } - rivenDingtalkForStarter(starterAlterDTO); + DingTalkUtils.sendDingTalkForStarter(starterAlterDTO, refreshProperties.getAlterMobiles()); } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java index ffd36aa5c..3d3ceb9ef 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.common.model.request.form.definition.FormContentSearchDT import cn.axzo.workflow.common.model.request.form.instance.FormInstanceSearchDTO; import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceVO; import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; +import cn.axzo.workflow.core.conf.SupportRefreshProperties; import cn.axzo.workflow.core.engine.cmd.CustomGetProcessInstanceVariablesToObjectCmd; import cn.axzo.workflow.core.repository.entity.ExtAxBpmnFormRelation; import cn.axzo.workflow.core.service.BpmnProcessInstanceService; @@ -110,6 +111,8 @@ public class TestController { private SpecifyProcessInstanceSyncEsJobHandler specifyProcessInstanceSyncEsJobHandler; @Resource private TaskService taskService; + @Resource + private SupportRefreshProperties refreshProperties; @RepeatSubmit @GetMapping("/test") @@ -397,5 +400,10 @@ public class TestController { taskService.complete(taskId); return CommonResponse.success(true); } + + @GetMapping("/properties/refresh") + public CommonResponse refreshProperties() { + return CommonResponse.success(JSON.toJSONString(refreshProperties)); + } } From 344bdfd2ee2e3e6ea6ee3a1a18c31f922ddd6aa8 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 2 Sep 2025 20:25:43 +0800 Subject: [PATCH 20/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E9=92=89=E9=92=89=E5=8F=91=E9=80=81=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0@=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/workflow/core/util/DingTalkUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java index 8e15cc993..91ec0c9ed 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java @@ -208,8 +208,8 @@ public class DingTalkUtils { OapiRobotSendRequest request = new OapiRobotSendRequest(); request.setMsgtype("markdown"); OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); - markdown.setTitle("Notice 审批模板节点预检查告警, Env: " + dto.getProfile()); - markdown.setText("#### [" + dto.getProfile() + "]应用必接事件告警\n" + + markdown.setTitle("Notice 应用必接广播 MQ 事件告警, Env: " + dto.getProfile()); + markdown.setText("#### [" + dto.getProfile() + "]应用必接广播 MQ 事件告警\n" + "> 应用名称:" + dto.getApplicationName() + "\n\n" + "> 检测信息:" + dto.getAlterContent() + "\n\n" + mobiles(alterMobiles)); From 033b938766a5d9b1939c6d1d4480e4341423ac77 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 3 Sep 2025 15:00:40 +0800 Subject: [PATCH 21/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...orkflowEngineStarterAutoConfiguration.java | 5 +- .../starter/api/WorkflowCoreService.java | 18 +-- .../starter/api/WorkflowManageService.java | 14 ++ .../mq/check/ImplementationReadyChecker.java | 132 ++++++++++++++---- 4 files changed, 123 insertions(+), 46 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index 5770407f5..fba9e97e6 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -158,9 +158,8 @@ public class WorkflowEngineStarterAutoConfiguration { } @Bean - public ImplementationReadyChecker implementationReadyChecker(WorkflowCoreService workflowCoreService, - Environment environment) { - return new ImplementationReadyChecker(workflowCoreService, environment); + public ImplementationReadyChecker implementationReadyChecker(WorkflowCoreService workflowCoreService) { + return new ImplementationReadyChecker(workflowCoreService); } // @Bean diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java index f8bacce7f..883e85801 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java @@ -1,8 +1,6 @@ package cn.axzo.workflow.starter.api; import cn.axzo.workflow.common.annotation.InvokeMode; -import cn.axzo.workflow.common.enums.AdminDataSource; -import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.SignFileDTO; import cn.axzo.workflow.common.model.dto.SimpleDocDTO; import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO; @@ -141,16 +139,12 @@ public interface WorkflowCoreService { @InvokeMode(SYNC) Boolean setTimeoutCallback(@Validated @RequestBody BpmnActivityTimeoutCallbackDTO dto); - @Operation(summary = "获取指定枚举类型的枚举值信息") - @GetMapping("/api/function/enum/admin-data-source/get") - @InvokeMode(SYNC) - AdminDataSource getAdminDataSourceEnum(@RequestParam String enumValue); - - @Operation(summary = "获取指定枚举类型的枚举值信息") - @GetMapping("/api/function/enum/process-instance-result/get") - @InvokeMode(SYNC) - BpmnProcessInstanceResultEnum getFileTypeEnum(@RequestParam String enumValue); - + /** + * 用于 Starter 检测必接事件的告警 + * + * @param dto + * @return + */ @Operation(summary = "发送钉钉消息") @PostMapping("/api/function/dingtalk/alter") @InvokeMode(SYNC) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java index 05efbb7f1..8a7f95145 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java @@ -2,6 +2,8 @@ package cn.axzo.workflow.starter.api; import cn.axzo.workflow.common.annotation.InvokeMode; import cn.axzo.workflow.common.annotation.Manageable; +import cn.axzo.workflow.common.enums.AdminDataSource; +import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.print.PrintFieldDTO; import cn.axzo.workflow.common.model.request.admin.ProcessAdminCreateDTO; import cn.axzo.workflow.common.model.request.admin.ProcessAdminDeleteDTO; @@ -194,6 +196,18 @@ public interface WorkflowManageService { @InvokeMode(SYNC) Boolean trigger(@NotBlank(message = "触发 ID 不能为空") @RequestParam String triggerId); + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/admin-data-source/get") + @Manageable + @InvokeMode(SYNC) + AdminDataSource getAdminDataSourceEnum(@RequestParam String enumValue); + + @Operation(summary = "获取指定枚举类型的枚举值信息") + @GetMapping("/api/function/enum/process-instance-result/get") + @Manageable + @InvokeMode(SYNC) + BpmnProcessInstanceResultEnum getFileTypeEnum(@RequestParam String enumValue); + @PostMapping("/api/form/admin/form/page") @InvokeMode(SYNC) @Manageable diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index 882334864..40e6d8bee 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -1,15 +1,23 @@ package cn.axzo.workflow.starter.mq.check; +import cn.axzo.framework.rocketmq.DefaultEventConsumer; +import cn.axzo.framework.rocketmq.Event; +import cn.axzo.framework.rocketmq.EventConsumer; +import cn.axzo.framework.rocketmq.EventHandler; +import cn.axzo.framework.rocketmq.EventHandlerRepository; +import cn.axzo.workflow.common.enums.ProcessInstanceEventEnum; import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO; import cn.axzo.workflow.starter.api.WorkflowCoreService; import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler; +import com.google.common.collect.ListMultimap; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; import org.springframework.core.env.Environment; +import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; @@ -34,28 +42,60 @@ public class ImplementationReadyChecker implements ApplicationListener EVENT_CODES = Arrays.asList( + ProcessInstanceEventEnum.PROCESS_INSTANCE_COMPLETED.getEventCode(), + ProcessInstanceEventEnum.PROCESS_INSTANCE_CANCELLED.getEventCode(), + ProcessInstanceEventEnum.PROCESS_INSTANCE_REJECTED.getEventCode(), + ProcessInstanceEventEnum.PROCESS_INSTANCE_ABORTED.getEventCode() + ); private final WorkflowCoreService workflowCoreService; - private final Environment environment; - public ImplementationReadyChecker(WorkflowCoreService workflowCoreService, - Environment environment) { + public ImplementationReadyChecker(WorkflowCoreService workflowCoreService) { this.workflowCoreService = workflowCoreService; - this.environment = environment; } - @Override public void onApplicationEvent(ApplicationReadyEvent event) { ApplicationContext context = event.getApplicationContext(); - // 获取所有实现了目标接口的Bean - Map handlers = context.getBeansOfType(TARGET_INTERFACE); - if (handlers.isEmpty()) { - log.warn("未找到实现 {} 接口的Bean, 请确保至少有一个实现类被正确扫描和注册。", TARGET_INTERFACE.getName()); + boolean[] methodImplemented = checkUnImplementedMethodsWithInterface(context); + if (getBinaryResult(methodImplemented) == 15) { + log.info("Congratulations, passed the verification!"); + log.info("祝贺,已通过必接事件的校验!但仍然请确保您的实现类逻辑正确无误,不允许出现空实现,否则生产问题自行负责!"); + return; + } + log.info("将继续通过 EventConsumer 进行检查..."); + methodImplemented = checkUnImplementedMethodsWithEventConsumer(context); + if (getBinaryResult(methodImplemented) == 15) { + log.info("Congratulations, passed the verification!"); + log.info("祝贺,已通过必接事件的校验!但仍然请确保您的实现类逻辑正确无误,不允许出现空实现,否则生产问题自行负责!"); + } else { + log.error("----------------------------------------"); + log.error("警告:未通过必接事件的校验!未实现的方法:{},请确保使用了实现了 {} 接口的Bean被Spring扫描,或者在EventConsumer注册了 ProcessInstanceEventEnum 的 EventCode。", String.join(", ", getUnImplementedMethods(methodImplemented)), TARGET_INTERFACE.getName()); + log.error("----------------------------------------"); + sendAlter(context, getUnImplementedMethods(methodImplemented)); } + } + + private void sendAlter(ApplicationContext context, List unImplementedMethods) { + Environment environment = context.getEnvironment(); + DingTalkStarterAlterDTO dto = new DingTalkStarterAlterDTO(); + dto.setApplicationName(environment.getProperty("spring.application.name")); + dto.setProfile(environment.getProperty("spring.profiles.active")); + dto.setAlterContent("必接事件实现类检查未通过,未实现的方法: " + String.join(", ", unImplementedMethods) + "。请确保至少有一个实现类覆盖这些方法以处理相应的事件。"); + workflowCoreService.sendDingtalk(dto); + } + + private static boolean[] checkUnImplementedMethodsWithInterface(ApplicationContext context) { // 记录每个方法是否被实现 boolean[] methodImplemented = new boolean[4]; Arrays.fill(methodImplemented, false); + // 获取所有实现了目标接口的Bean + Map handlers = context.getBeansOfType(TARGET_INTERFACE); + if (handlers.isEmpty()) { + log.warn("未找到实现 {} 接口的Bean ", TARGET_INTERFACE.getName()); + return methodImplemented; + } // 检查每个实现类 for (ProcessInstanceEventHandler handler : handlers.values()) { @@ -75,7 +115,58 @@ public class ImplementationReadyChecker implements ApplicationListener unimplementedMethods = getUnImplementedMethods(methodImplemented); + log.info("实现 {} 接口的Bean数量: {}", TARGET_INTERFACE.getName(), handlers.size()); + log.info("方法实现情况:(二进制:{}),(十进制:{})", String.format("%4s", Integer.toBinaryString(binaryResult)).replace(' ', '0'), binaryResult); + if (!unimplementedMethods.isEmpty()) { + log.warn("未通过 Starter 提供的 {} 接口实现中找到以下方法的实现: {}。请确保至少有一个实现类覆盖这些方法以处理相应的事件。", TARGET_INTERFACE.getName(), String.join(", ", unimplementedMethods)); + } + return methodImplemented; + } + private static boolean[] checkUnImplementedMethodsWithEventConsumer(ApplicationContext context) { + // 记录每个方法是否被实现 + boolean[] methodImplemented = new boolean[4]; + Arrays.fill(methodImplemented, false); + + Map beansOfType = context.getBeansOfType(EventConsumer.class); + beansOfType.forEach((name, c) -> { + if (c instanceof DefaultEventConsumer) { + try { + Field repoField = DefaultEventConsumer.class.getDeclaredField("handlerRepository"); + repoField.setAccessible(true); + EventHandlerRepository repo = (EventHandlerRepository) repoField.get(c); + + Field handlersField = EventHandlerRepository.class.getDeclaredField("handlers"); + handlersField.setAccessible(true); + @SuppressWarnings("unchecked") + ListMultimap eventHandlers = + (ListMultimap) handlersField.get(repo); + + for (int i = 0; i < EVENT_CODES.size(); i++) { + methodImplemented[i] = eventHandlers.keySet().contains(EVENT_CODES.get(i)); + } + } catch (Exception e) { + log.warn("通过 EventConsumer 检测必接事件异常:{}", e.getMessage(), e); + } + } + }); + return methodImplemented; + } + + private static List getUnImplementedMethods(boolean[] methodImplemented) { + // 收集未实现的方法 + List unimplementedMethods = new ArrayList<>(); + for (int i = 0; i < methodImplemented.length; i++) { + if (!methodImplemented[i]) { + unimplementedMethods.add(METHOD_NAMES.get(i)); + } + } + return unimplementedMethods; + } + + private static int getBinaryResult(boolean[] methodImplemented) { // 生成4位二进制数 int binaryResult = 0; for (int i = 0; i < methodImplemented.length; i++) { @@ -85,27 +176,6 @@ public class ImplementationReadyChecker implements ApplicationListener unimplementedMethods = new ArrayList<>(); - for (int i = 0; i < methodImplemented.length; i++) { - if (!methodImplemented[i]) { - unimplementedMethods.add(METHOD_NAMES.get(i)); - } - } - - log.info("实现 {} 接口的Bean数量: {}", TARGET_INTERFACE.getName(), handlers.size()); - log.info("方法实现情况:(二进制:{}),(十进制:{})", String.format("%4s", Integer.toBinaryString(binaryResult)).replace(' ', '0'), binaryResult); - if (!unimplementedMethods.isEmpty()) { - log.error("以下方法未被任何实现类覆盖: {}。请确保至少有一个实现类覆盖这些方法以处理相应的事件。", String.join(", ", unimplementedMethods)); - DingTalkStarterAlterDTO dto = new DingTalkStarterAlterDTO(); - dto.setApplicationName(environment.getProperty("spring.application.name")); - dto.setProfile(environment.getProperty("spring.profiles.active")); - dto.setAlterContent("必接事件实现类检查未通过,未实现的方法: " + String.join(", ", unimplementedMethods) + "。请确保至少有一个实现类覆盖这些方法以处理相应的事件。"); - workflowCoreService.sendDingtalk(dto); - } else { - log.info("Congratulations, passed the verification!"); - log.info("祝贺,已通过必接事件的校验!但仍然请确保您的实现类逻辑正确无误,不允许出现空实现,否则生产问题自行负责!"); - } + return binaryResult; } } From b8e515ed5515ea6485eeac5dee7ee78c6531cdf8 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 3 Sep 2025 15:27:30 +0800 Subject: [PATCH 22/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/check/ImplementationReadyChecker.java | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index 40e6d8bee..a157e7c1c 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -63,20 +63,42 @@ public class ImplementationReadyChecker implements ApplicationListener 32) throw new IllegalArgumentException("bits must be 1~32"); + boolean[] arr = new boolean[bits]; + for (int i = 0; i < bits; i++) { + int shift = bits - 1 - i; + arr[i] = ((value >>> shift) & 1) == 1; + } + return arr; + } + private void sendAlter(ApplicationContext context, List unImplementedMethods) { Environment environment = context.getEnvironment(); DingTalkStarterAlterDTO dto = new DingTalkStarterAlterDTO(); @@ -118,9 +140,9 @@ public class ImplementationReadyChecker implements ApplicationListener unimplementedMethods = getUnImplementedMethods(methodImplemented); log.info("实现 {} 接口的Bean数量: {}", TARGET_INTERFACE.getName(), handlers.size()); - log.info("方法实现情况:(二进制:{}),(十进制:{})", String.format("%4s", Integer.toBinaryString(binaryResult)).replace(' ', '0'), binaryResult); + log.warn("基于接口事件实现情况:(二进制:{}),(十进制:{})", String.format("%4s", Integer.toBinaryString(binaryResult)).replace(' ', '0'), binaryResult); if (!unimplementedMethods.isEmpty()) { - log.warn("未通过 Starter 提供的 {} 接口实现中找到以下方法的实现: {}。请确保至少有一个实现类覆盖这些方法以处理相应的事件。", TARGET_INTERFACE.getName(), String.join(", ", unimplementedMethods)); + log.info("未通过 Starter 提供的 {} 接口实现中找到以下方法的实现: {}。请确保至少有一个实现类覆盖这些方法以处理相应的事件。", TARGET_INTERFACE.getName(), String.join(", ", unimplementedMethods)); } return methodImplemented; } @@ -152,6 +174,8 @@ public class ImplementationReadyChecker implements ApplicationListener Date: Wed, 3 Sep 2025 15:52:23 +0800 Subject: [PATCH 23/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=BF=85=E6=8E=A5=E4=BA=8B=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/WorkflowEngineStarterAutoConfiguration.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index fba9e97e6..4b1404606 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -162,9 +162,4 @@ public class WorkflowEngineStarterAutoConfiguration { return new ImplementationReadyChecker(workflowCoreService); } -// @Bean -// @ConditionalOnMissingBean(name = "enumUnknownCustomizer") -// public Jackson2ObjectMapperBuilderCustomizer enumUnKnowCustomizer() { -// return builder -> builder.featuresToEnable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE); -// } } From 14a26efbf326213cf87bc44ddb5d70b716c0357c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 3 Sep 2025 16:54:30 +0800 Subject: [PATCH 24/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=BF=85=E6=8E=A5=E4=BA=8B=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/starter/mq/check/ImplementationReadyChecker.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index a157e7c1c..4725f3875 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -70,11 +70,11 @@ public class ImplementationReadyChecker implements ApplicationListener Date: Wed, 3 Sep 2025 17:14:48 +0800 Subject: [PATCH 25/25] =?UTF-8?q?feat(REQ-4418)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E5=BF=85=E6=8E=A5=E4=BA=8B=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/server/alter/DingTalkAlter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index ea9d9efae..83b6c25ee 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -42,6 +42,10 @@ public class DingTalkAlter implements Alter { @Override public void invoke(Object obj) { + if (!Boolean.TRUE.equals(refreshProperties.getAlterSendDingTalk())) { + log.info("ignore send alter"); + return; + } log.info("send biz node alter : {}", JSON.toJSONString(obj)); if (obj instanceof AlterDTO) { AlterDTO alterDTO = (AlterDTO) obj;