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); + } +}