From 6f03aa309f758aa84e1ac75e0afb137329917121 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E8=85=BE?= <3467447354@qq.com>
Date: Thu, 1 Aug 2024 11:36:44 +0800
Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B3=A8=E8=A7=A3?=
=?UTF-8?q?=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 5 +++
.../muyu/common/core/enums/SystemYesNo.java | 37 +++++++++++++++++++
.../core/validation/custom/IsSystemYesNo.java | 23 ++++++++++++
.../custom/SystemYsNoValidator.java | 20 ++++++++++
4 files changed, 85 insertions(+)
create mode 100644 src/main/java/com/muyu/common/core/enums/SystemYesNo.java
create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java
create mode 100644 src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java
diff --git a/pom.xml b/pom.xml
index 9197712..e2c8014 100644
--- a/pom.xml
+++ b/pom.xml
@@ -164,6 +164,11 @@
cn.hutool
hutool-all
+
+
+ io.swagger.core.v3
+ swagger-annotations-jakarta
+
diff --git a/src/main/java/com/muyu/common/core/enums/SystemYesNo.java b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java
new file mode 100644
index 0000000..1ba2cd0
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java
@@ -0,0 +1,37 @@
+package com.muyu.common.core.enums;
+
+import java.util.Arrays;
+
+/**
+ * @Author:张腾
+ * @Package:com.muyu.common.core.enums
+ * @Project:cloud-common-core
+ * @name:SystemYesNo
+ * @Date:2024/8/1 10:41
+ */
+public enum SystemYesNo {
+ YES("Y","是"),NO("N","否");
+
+ private final String code;
+ private final String info;
+
+ SystemYesNo(String code, String info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ public String getCode () {
+ return code;
+ }
+
+ public String getInfo () {
+ return info;
+ }
+
+ public static boolean isCode(String code){
+ return Arrays.stream(values())
+ .map(SystemYesNo::getCode)
+ .anyMatch(s -> s.equals(code));
+
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java
new file mode 100644
index 0000000..444d8c5
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java
@@ -0,0 +1,23 @@
+package com.muyu.common.core.validation.custom;
+
+import jakarta.validation.Constraint;
+
+import java.lang.annotation.*;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @Author:张腾
+ * @Package:com.muyu.common.core.validation.custom
+ * @Project:cloud-common-core
+ * @name:IsSystemYesNo
+ * @Date:2024/8/1 10:59
+ */
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = SystemYsNoValidator.class)
+public @interface IsSystemYesNo {
+
+ String message() default "数据字典:[系统是否] - 参数不合法";
+}
diff --git a/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java
new file mode 100644
index 0000000..30c3234
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java
@@ -0,0 +1,20 @@
+package com.muyu.common.core.validation.custom;
+
+import com.muyu.common.core.enums.SystemYesNo;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+/**
+ * @Author:张腾
+ * @Package:com.muyu.common.core.validation.custom
+ * @Project:cloud-common-core
+ * @name:SystemYsNoValidator
+ * @Date:2024/8/1 11:29
+ */
+public class SystemYsNoValidator implements ConstraintValidator {
+
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
+ return SystemYesNo.isCode(value);
+ }
+}