添加渠道商类型效验

master
陈思豪 2024-08-05 20:24:13 +08:00
parent 0a718bd291
commit 9b3e1b40ab
4 changed files with 80 additions and 1 deletions

View File

@ -0,0 +1,44 @@
package com.muyu.common.core.enums;
import lombok.AllArgsConstructor;
import java.util.Arrays;
public enum SysPayType {
AlIPAY("aliPay","支付宝"),
WECHAT_PAY("wechatPay","微信支付"),
JD_PAY("jdPay","京东支付");
private final String code;
private final String info;
SysPayType(String code, String info) {
this.code = code;
this.info = info;
}
public String getCode() {
return code;
}
public String getInfo() {
return info;
}
public static boolean isCode(String code){
return Arrays.stream(values())
.map(SysPayType::getCode)
.anyMatch(s -> s.equals(code));
}
public static String getInfoByCode(String code) {
return Arrays.stream(values())
.filter(s -> s.getCode().equals(code))
.findFirst()
.map(SysPayType::getInfo)
.orElseGet(()->"-");
}
}

View File

@ -6,7 +6,7 @@ import lombok.NoArgsConstructor;
import java.util.Arrays;
@AllArgsConstructor
public enum SystemYesNo {
YES("Y","是"),
@ -20,6 +20,11 @@ public enum SystemYesNo {
return code;
}
SystemYesNo(String code, String info) {
this.code = code;
this.info = info;
}
public String getInfo() {
return info;
}

View File

@ -0,0 +1,17 @@
package com.muyu.common.core.validation.custom;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.*;
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = {SystemPayTypeValidator.class})
public @interface IsSystemPayType {
String message() default "支付渠道参数不合法";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}

View File

@ -0,0 +1,13 @@
package com.muyu.common.core.validation.custom;
import com.muyu.common.core.enums.SysPayType;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
public class SystemPayTypeValidator implements ConstraintValidator<IsSystemPayType,String> {
@Override
public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
return SysPayType.isCode(s);
}
}