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