添加支付方式注解,枚举,校验器

master
面包骑士 2024-08-08 20:14:00 +08:00
parent 1761911db9
commit 042e095964
5 changed files with 95 additions and 6 deletions

View File

@ -0,0 +1,36 @@
package com.muyu.common.core.enums;
import lombok.Getter;
import java.util.Arrays;
/**
*
*
* @author muyu
*/
@Getter
public enum SysPayType {
ALI_PAY("支付宝", "alipay"),
WEIXIN_PAY("微信", "weixinpay"),
JD_PAY("京东", "jdpay");
private final String code;
private final String info;
SysPayType(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(SysPayType::getCode)
.anyMatch(c -> c.equals(code));
}
}

View File

@ -0,0 +1,24 @@
package com.muyu.common.core.validation;
import com.muyu.common.core.enums.SysPayType;
import com.muyu.common.core.enums.SysYesNo;
import com.muyu.common.core.validation.custom.IsSysPayType;
import com.muyu.common.core.validation.custom.IsSysYesNo;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
/**
* @Author:
* @Name: IsSystemYesNoValidator
* @Description:
* @CreatedDate: 2024/8/5 8:00
* @FilePath: com.muyu.common.core.validation
*/
public class IsSysPayTypeValidator implements ConstraintValidator<IsSysPayType,String> {
@Override
public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
return SysPayType.isCode(s);
}
}

View File

@ -8,10 +8,9 @@ package com.muyu.common.core.validation;/**
import com.muyu.common.core.enums.SysYesNo;
import com.muyu.common.core.validation.custom.IsSystemYesNo;
import com.muyu.common.core.validation.custom.IsSysYesNo;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.bouncycastle.util.IPAddress;
/**
* @Author:
@ -21,7 +20,7 @@ import org.bouncycastle.util.IPAddress;
* @FilePath: com.muyu.common.core.validation
*/
public class IsSystemYesNoValidator implements ConstraintValidator<IsSystemYesNo,String> {
public class IsSysYesNoValidator implements ConstraintValidator<IsSysYesNo,String> {
@Override
public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
return SysYesNo.isCode(s);

View File

@ -0,0 +1,30 @@
package com.muyu.common.core.validation.custom;
import com.muyu.common.core.validation.IsSysPayTypeValidator;
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:
* @Name: IsSysPayType
* @Description:
* @CreatedDate: 2024/8/8 8:09
* @FilePath: com.muyu.common.core.validation.custom
*/
@Target({ElementType.FIELD})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = IsSysPayTypeValidator.class)
public @interface IsSysPayType {
String message() default "数据字典:[支付方式] - 参数不合法";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}

View File

@ -1,6 +1,6 @@
package com.muyu.common.core.validation.custom;
import com.muyu.common.core.validation.IsSystemYesNoValidator;
import com.muyu.common.core.validation.IsSysYesNoValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;
@ -18,8 +18,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Target({ElementType.FIELD})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = IsSystemYesNoValidator.class)
public @interface IsSystemYesNo {
@Constraint(validatedBy = IsSysYesNoValidator.class)
public @interface IsSysYesNo {
String message() default "数据字典:[支付服务/客户启用状态] - 参数不合法";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};