From b0c322335e540fd1f1e2f118bd6a25b4e191bb47 Mon Sep 17 00:00:00 2001 From: xinzirun Date: Sun, 4 Aug 2024 14:58:04 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E5=A2=9E=E5=8A=A0=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/enums/SystemYesNo.java | 42 +++++++++++++++++++ .../core/validation/custom/IsSystemYesNo.java | 24 +++++++++++ .../custom/SystemYsNoValidator.java | 17 ++++++++ 3 files changed, 83 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/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..4c133f1 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -0,0 +1,42 @@ +package com.muyu.common.core.enums; + +import java.util.Arrays; + +/** + * @Author: zi run + * @Date 2024/8/4 14:09 + * @Description 系统是否枚举 + */ +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; + } + + /** + * 鉴别Code是否合法 + * @param code 传code + * @return 如果存在code则返回true,不存在则返回false + */ + 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..8d0104d --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java @@ -0,0 +1,24 @@ +package com.muyu.common.core.validation.custom; + +import jakarta.validation.Constraint; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @Author: zi run + * @Date 2024/8/4 14:25 + * @Description validation自定义系统字典校验 + */ + +@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..093bff5 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java @@ -0,0 +1,17 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SystemYesNo; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author: zi run + * @Date 2024/8/4 14:31 + * @Description 是否系统字典的校验器 + */ +public class SystemYsNoValidator implements ConstraintValidator { + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SystemYesNo.isCode(value); + } +}