From 69e3afc7707d467b758858b52d3784947f7a502b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 20 五月 2024 10:25:23 +0800
Subject: [PATCH] !538 ♥️发布 5.2.0-BETA 公测版本 Merge pull request !538 from 疯狂的狮子Li/dev

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java
new file mode 100644
index 0000000..6eb6ffe
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java
@@ -0,0 +1,152 @@
+package org.dromara.workflow.common.enums;
+
+import cn.hutool.core.util.StrUtil;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.dromara.common.core.exception.ServiceException;
+import org.dromara.common.core.utils.StringUtils;
+
+import java.util.Arrays;
+
+/**
+ * 涓氬姟鐘舵�佹灇涓�
+ *
+ * @author may
+ */
+@Getter
+@AllArgsConstructor
+public enum BusinessStatusEnum {
+    /**
+     * 宸叉挙閿�
+     */
+    CANCEL("cancel", "宸叉挙閿�"),
+    /**
+     * 鑽夌
+     */
+    DRAFT("draft", "鑽夌"),
+    /**
+     * 寰呭鏍�
+     */
+    WAITING("waiting", "寰呭鏍�"),
+    /**
+     * 宸插畬鎴�
+     */
+    FINISH("finish", "宸插畬鎴�"),
+    /**
+     * 宸蹭綔搴�
+     */
+    INVALID("invalid", "宸蹭綔搴�"),
+    /**
+     * 宸查��鍥�
+     */
+    BACK("back", "宸查��鍥�"),
+    /**
+     * 宸茬粓姝�
+     */
+    TERMINATION("termination", "宸茬粓姝�");
+
+    /**
+     * 鐘舵��
+     */
+    private final String status;
+
+    /**
+     * 鎻忚堪
+     */
+    private final String desc;
+
+    /**
+     * 鑾峰彇涓氬姟鐘舵��
+     *
+     * @param status 鐘舵��
+     */
+    public static String findByStatus(String status) {
+        if (StringUtils.isBlank(status)) {
+            return StrUtil.EMPTY;
+        }
+        return Arrays.stream(BusinessStatusEnum.values())
+            .filter(statusEnum -> statusEnum.getStatus().equals(status))
+            .findFirst()
+            .map(BusinessStatusEnum::getDesc)
+            .orElse(StrUtil.EMPTY);
+    }
+
+    /**
+     * 鍚姩娴佺▼鏍¢獙
+     *
+     * @param status 鐘舵��
+     */
+    public static void checkStartStatus(String status) {
+        if (WAITING.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡鎻愪氦杩囩敵璇�,姝e湪瀹℃壒涓紒");
+        } else if (FINISH.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡瀹屾垚鐢宠锛�");
+        } else if (INVALID.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡浣滃簾锛�");
+        } else if (TERMINATION.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡缁堟锛�");
+        } else if (StringUtils.isBlank(status)) {
+            throw new ServiceException("娴佺▼鐘舵�佷负绌猴紒");
+        }
+    }
+
+    /**
+     * 鎾ら攢娴佺▼鏍¢獙
+     *
+     * @param status 鐘舵��
+     */
+    public static void checkCancelStatus(String status) {
+        if (CANCEL.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡鎾ら攢锛�");
+        } else if (FINISH.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡瀹屾垚鐢宠锛�");
+        } else if (INVALID.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡浣滃簾锛�");
+        } else if (TERMINATION.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡缁堟锛�");
+        } else if (BACK.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡閫�鍥烇紒");
+        } else if (StringUtils.isBlank(status)) {
+            throw new ServiceException("娴佺▼鐘舵�佷负绌猴紒");
+        }
+    }
+
+    /**
+     * 椹冲洖娴佺▼鏍¢獙
+     *
+     * @param status 鐘舵��
+     */
+    public static void checkBackStatus(String status) {
+        if (BACK.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡閫�鍥烇紒");
+        } else if (FINISH.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡瀹屾垚鐢宠锛�");
+        } else if (INVALID.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡浣滃簾锛�");
+        } else if (TERMINATION.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡缁堟锛�");
+        } else if (CANCEL.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡鎾ら攢锛�");
+        } else if (StringUtils.isBlank(status)) {
+            throw new ServiceException("娴佺▼鐘舵�佷负绌猴紒");
+        }
+    }
+
+    /**
+     * 浣滃簾,缁堟娴佺▼鏍¢獙
+     *
+     * @param status 鐘舵��
+     */
+    public static void checkInvalidStatus(String status) {
+        if (FINISH.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡瀹屾垚鐢宠锛�");
+        } else if (INVALID.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡浣滃簾锛�");
+        } else if (TERMINATION.getStatus().equals(status)) {
+            throw new ServiceException("璇ュ崟鎹凡缁堟锛�");
+        } else if (StringUtils.isBlank(status)) {
+            throw new ServiceException("娴佺▼鐘舵�佷负绌猴紒");
+        }
+    }
+}
+

--
Gitblit v1.9.3