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..d390bc1 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -0,0 +1,44 @@ +package com.muyu.common.core.enums; + +import java.lang.reflect.Array; +import java.util.Arrays; + +/** + * @Author:chaiyapeng + * @Package:com.muyu.common.core.enums + * @Project:cloud-common-core + * @name:SystemYesNo + * @Date:2024/8/9 17:27 + */ +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..84b19dc --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java @@ -0,0 +1,26 @@ +package com.muyu.common.core.validation.custom; + +import jakarta.validation.Constraint; +import org.springframework.web.bind.annotation.RequestMapping; + +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:chaiyapeng + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:IsSystemYesNo + * @Date:2024/8/9 19:09 + */ +@Target({ElementType.FIELD}) +@Retention(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..332a520 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java @@ -0,0 +1,20 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SystemYesNo; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author:chaiyapeng + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:SystemYesNoValidator + * @Date:2024/8/9 19:12 + */ +public class SystemYesNoValidator implements ConstraintValidator { + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SystemYesNo.isCode(value); + } +}