feat(): 增加系统字典校验

master
DongZeLiang 2024-07-31 11:39:19 +08:00
parent 689ffc2026
commit cc930b9ad3
3 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,43 @@
package com.muyu.common.core.enums;
import java.util.Arrays;
/**
* @Author: DongZeLiang
* @date: 2024/7/31
* @Description:
* @Version: 1.0
*/
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 codetruefalse
*/
public static boolean isCode(String code){
return Arrays.stream(values())
.map(SystemYesNo::getCode)
.anyMatch(s -> s.equals(code));
}
}

View File

@ -0,0 +1,24 @@
package com.muyu.common.core.validation.custom;
import jakarta.validation.Constraint;
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: DongZeLiang
* @date: 2024/7/31
* @Description: validation
* @Version: 1.0
*/
@Target({ElementType.FIELD})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {SystemYsNoValidator.class})
public @interface IsSystemYesNo {
String message() default "数据字典:[系统是否] - 参数不合法";
}

View File

@ -0,0 +1,18 @@
package com.muyu.common.core.validation.custom;
import com.muyu.common.core.enums.SystemYesNo;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
/**
* @Author: DongZeLiang
* @date: 2024/7/31
* @Description:
* @Version: 1.0
*/
public class SystemYsNoValidator implements ConstraintValidator<IsSystemYesNo, String> {
@Override
public boolean isValid (String value, ConstraintValidatorContext constraintValidatorContext) {
return SystemYesNo.isCode(value);
}
}