From dab70ab8fa9d3ad2cc2ff0960612c036f4803b5c Mon Sep 17 00:00:00 2001 From: yuan <1363654894@qq.com> Date: Fri, 23 Aug 2024 20:49:15 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E6=B7=BB=E5=8A=A0=E8=A7=84=E5=88=99?= =?UTF-8?q?=E4=BD=9C=E7=94=A8=E5=9F=9F=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/enums/SysRuleRegion.java | 37 +++++++++++++++++++ .../validation/custom/IsSysRuleRegion.java | 30 +++++++++++++++ .../custom/IsSysRuleRegionValidation.java | 19 ++++++++++ 3 files changed, 86 insertions(+) create mode 100644 src/main/java/com/muyu/common/core/enums/SysRuleRegion.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegion.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegionValidation.java diff --git a/src/main/java/com/muyu/common/core/enums/SysRuleRegion.java b/src/main/java/com/muyu/common/core/enums/SysRuleRegion.java new file mode 100644 index 0000000..afc0116 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysRuleRegion.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:SysRuleRegion + * @Date:2024/8/23 下午8:20 + */ +public enum SysRuleRegion { + FIELD("F","数据字段"), RECORD("R","记录"), COLLECT("C","数据集"); + + private final String code; + private final String info; + + SysRuleRegion(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(SysRuleRegion::getCode) + .anyMatch(s -> s.equals(code)); + + } +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegion.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegion.java new file mode 100644 index 0000000..c2f2944 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegion.java @@ -0,0 +1,30 @@ +package com.muyu.common.core.validation.custom; + +import jakarta.validation.Constraint; +import jakarta.validation.Payload; + +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:蓬叁 + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:IsSysRuleRegion + * @Date:2024/8/23 下午8:18 + */ +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = IsSysRuleRegionValidation.class) +public @interface IsSysRuleRegion { + + String message() default "数据字典:[系统是否] - 参数不合法"; + Class[] groups() default { }; + Class[] payload() default { }; + +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegionValidation.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegionValidation.java new file mode 100644 index 0000000..4cffb60 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysRuleRegionValidation.java @@ -0,0 +1,19 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SysRuleRegion; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author:蓬叁 + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:IsSysRuleRegionValidation + * @Date:2024/8/23 下午8:19 + */ +public class IsSysRuleRegionValidation implements ConstraintValidator { + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SysRuleRegion.isCode(value); + } +}