From 49d757cd3f953ecafc0aba47aedcce5a3f23e3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E8=B1=AA?= <1437200870@qq.com> Date: Thu, 1 Aug 2024 00:47:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E5=85=B8=E6=95=88?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/enums/SystemYesNo.java | 35 +++++++++++++++++++ .../core/validation/custom/IsSystemYesNo.java | 13 +++++++ .../custom/SystemYesNoValidator.java | 13 +++++++ 3 files changed, 61 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/SystemYesNoValidator.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..18b371d --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -0,0 +1,35 @@ +package com.muyu.common.core.enums; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Arrays; + +@AllArgsConstructor +public enum SystemYesNo { + + YES("Y","是"), + NO("N","否"); + + private final String code; + + private final String 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..38d611d --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java @@ -0,0 +1,13 @@ +package com.muyu.common.core.validation.custom; + +import jakarta.validation.Constraint; + +import java.lang.annotation.*; + +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint(validatedBy = {SystemYesNoValidator.class}) +public @interface IsSystemYesNo { + String message() default "数据字典不合法"; +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java new file mode 100644 index 0000000..f57fea1 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java @@ -0,0 +1,13 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SystemYesNo; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +public class SystemYesNoValidator implements ConstraintValidator { + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + return SystemYesNo.isCode(s); + + } +}