From 94c5ef4416f5e9576fd063e9b57b0a4fd934ad19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Tue, 20 Aug 2024 20:46:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AD=97=E5=85=B8,=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=AD=97=E5=85=B8,=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=AD=97=E5=85=B8=E7=9A=84=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E4=B8=8E=E6=A0=A1=E9=AA=8C=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/enums/SysApiState.java | 38 +++++++++++++++++ .../muyu/common/core/enums/SysCheckState.java | 40 ++++++++++++++++++ .../com/muyu/common/core/enums/SysDBType.java | 41 +++++++++++++++++++ .../validation/IsSysApiStateValidator.java | 22 ++++++++++ .../validation/IsSysCheckStateValidator.java | 22 ++++++++++ .../core/validation/IsSysDBTypeValidator.java | 22 ++++++++++ .../core/validation/custom/IsSysApiState.java | 29 +++++++++++++ .../validation/custom/IsSysCheckState.java | 29 +++++++++++++ .../core/validation/custom/IsSysDBType.java | 29 +++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 3 ++ 10 files changed, 275 insertions(+) create mode 100644 src/main/java/com/muyu/common/core/enums/SysApiState.java create mode 100644 src/main/java/com/muyu/common/core/enums/SysCheckState.java create mode 100644 src/main/java/com/muyu/common/core/enums/SysDBType.java create mode 100644 src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java create mode 100644 src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java create mode 100644 src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java diff --git a/src/main/java/com/muyu/common/core/enums/SysApiState.java b/src/main/java/com/muyu/common/core/enums/SysApiState.java new file mode 100644 index 0000000..57fd160 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysApiState.java @@ -0,0 +1,38 @@ +package com.muyu.common.core.enums; + +import lombok.Getter; + +import java.util.Arrays; + +/** + * @Author: 胡杨 + * @Name: SysApiState + * @Description: 接口调用字典 + * @CreatedDate: 2024/8/20 下午7:56 + * @FilePath: com.muyu.common.core.enums + */ + +@Getter +public enum SysApiState { + OFF("off", "开启"), + ON("on", "停用"); + + private final String code; + private final String info; + + SysApiState(String code, String info) { + this.code = code; + this.info = info; + } + + /** + * 鉴别参数是否是启用状态 + * @param code 需鉴别参数 + * @return 如果存在返回结果turn,否则返回false + */ + public static boolean isCode(String code){ + return Arrays.stream(values()) + .map(SysApiState::getCode) + .anyMatch(c -> c.equals(code)); + } +} diff --git a/src/main/java/com/muyu/common/core/enums/SysCheckState.java b/src/main/java/com/muyu/common/core/enums/SysCheckState.java new file mode 100644 index 0000000..55098d3 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysCheckState.java @@ -0,0 +1,40 @@ +package com.muyu.common.core.enums; + +import lombok.Getter; + +import java.util.Arrays; + +/** + * @Author: 胡杨 + * @Name: SysCheckState + * @Description: 审核状态字典 + * @CreatedDate: 2024/8/20 下午8:01 + * @FilePath: com.muyu.common.core.enums + */ + +@Getter +public enum SysCheckState { + UN("un", "未审核"), + YES("yes", "审核通过"), + NO("no", "审核驳回"); + + private final String code; + private final String info; + + SysCheckState(String code, String info) { + this.code = code; + this.info = info; + } + + /** + * 鉴别参数是否是枚举的值 + * + * @param code 需鉴别参数 + * @return 如果存在返回结果turn, 否则返回false + */ + public static boolean isCode(String code) { + return Arrays.stream(values()) + .map(SysCheckState::getCode) + .anyMatch(c -> c.equals(code)); + } +} diff --git a/src/main/java/com/muyu/common/core/enums/SysDBType.java b/src/main/java/com/muyu/common/core/enums/SysDBType.java new file mode 100644 index 0000000..15cb1a3 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysDBType.java @@ -0,0 +1,41 @@ +package com.muyu.common.core.enums; + +import lombok.Getter; + +import java.util.Arrays; + +/** + * @Author: 胡杨 + * @Name: SysDBType + * @Description: 数据源类型字典 + * @CreatedDate: 2024/8/20 下午8:22 + * @FilePath: com.muyu.common.core.enums + */ + +@Getter +public enum SysDBType { + MYSQL("mysql", "Mysql数据库"), + REDIS("redis", "Redis数据库"), + ES("es", "Es数据库"), + OTHER("other", "其他"); + + private final String code; + private final String info; + + SysDBType(String code, String info) { + this.code = code; + this.info = info; + } + + /** + * 鉴别参数是否是枚举的值 + * + * @param code 需鉴别参数 + * @return 如果存在返回结果turn, 否则返回false + */ + public static boolean isCode(String code) { + return Arrays.stream(values()) + .map(SysDBType::getCode) + .anyMatch(c -> c.equals(code)); + } +} diff --git a/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java new file mode 100644 index 0000000..747be45 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java @@ -0,0 +1,22 @@ +package com.muyu.common.core.validation; + + +import com.muyu.common.core.enums.*; +import com.muyu.common.core.validation.custom.*; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author: 胡杨 + * @Name: IsSysApiState + * @Description: 接口调用字典判断 + * @CreatedDate: 2024/8/20 下午8:07 + * @FilePath: com.muyu.common.core.validation + */ + +public class IsSysApiStateValidator implements ConstraintValidator { + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + return SysApiState.isCode(s); + } +} diff --git a/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java new file mode 100644 index 0000000..bde6f3c --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java @@ -0,0 +1,22 @@ +package com.muyu.common.core.validation; + + +import com.muyu.common.core.enums.*; +import com.muyu.common.core.validation.custom.*; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author: 胡杨 + * @Name: SysCheckState + * @Description: 审核状态字典判断 + * @CreatedDate: 2024/8/20 下午8:09 + * @FilePath: com.muyu.common.core.validation + */ + +public class IsSysCheckStateValidator implements ConstraintValidator { + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + return SysCheckState.isCode(s); + } +} diff --git a/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java new file mode 100644 index 0000000..f6bebf5 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java @@ -0,0 +1,22 @@ +package com.muyu.common.core.validation; + + +import com.muyu.common.core.enums.*; +import com.muyu.common.core.validation.custom.*; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author: 胡杨 + * @Name: SysDBType + * @Description: 数据源类型字典 + * @CreatedDate: 2024/8/20 下午8:26 + * @FilePath: com.muyu.common.core.validation + */ + +public class IsSysDBTypeValidator implements ConstraintValidator { + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + return SysDBType.isCode(s); + } +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java new file mode 100644 index 0000000..42bf957 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java @@ -0,0 +1,29 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.validation.*; +import jakarta.validation.Constraint; +import jakarta.validation.Payload; + +import java.lang.annotation.*; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @Author: 胡杨 + * @Name: IsSysApiState + * @Description: 接口调用字典 + * @CreatedDate: 2024/8/20 下午8:07 + * @FilePath: com.muyu.common.core.validation.custom + */ + +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = IsSysApiStateValidator.class) +public @interface IsSysApiState { + String message() default "数据字典:[接口调用字典] - 参数不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java new file mode 100644 index 0000000..0bb7341 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java @@ -0,0 +1,29 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.validation.*; +import jakarta.validation.Constraint; +import jakarta.validation.Payload; + +import java.lang.annotation.*; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @Author: 胡杨 + * @Name: SysCheckState + * @Description: 审核状态字典 + * @CreatedDate: 2024/8/20 下午8:09 + * @FilePath: com.muyu.common.core.validation.custom + */ + +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = IsSysCheckStateValidator.class) +public @interface IsSysCheckState { + String message() default "数据字典:[审核状态字典] - 参数不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java new file mode 100644 index 0000000..d4de54c --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java @@ -0,0 +1,29 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.validation.*; +import jakarta.validation.Constraint; +import jakarta.validation.Payload; + +import java.lang.annotation.*; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @Author: 胡杨 + * @Name: SysDBType + * @Description: 数据源类型字典 + * @CreatedDate: 2024/8/20 下午8:26 + * @FilePath: com.muyu.common.core.validation.custom + */ + +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = IsSysDBTypeValidator.class) +public @interface IsSysDBType { + String message() default "数据字典:[数据源类型字典] - 参数不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 17f73ec..0b7326f 100644 --- a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1,5 @@ com.muyu.common.core.utils.SpringUtils com.muyu.common.core.feign.FeginConfig +com.muyu.common.core.validation.IsSysApiStateValidator +com.muyu.common.core.validation.IsSysCheckStateValidator +com.muyu.common.core.validation.IsSysDBTypeValidator