feat():增加了支付渠道枚举和支付渠道校验
parent
bfa052f5bc
commit
7022b879de
|
@ -0,0 +1,65 @@
|
|||
package com.muyu.common.core.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static net.sf.jsqlparser.parser.feature.Feature.values;
|
||||
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.common.core.enums
|
||||
* @Project:cloud-common-core
|
||||
* @name:SysPayType
|
||||
* @Date:2024/8/8 16:55
|
||||
*/
|
||||
public enum SysPayType {
|
||||
ALI_PAY("aliPay","支付宝"),
|
||||
WEICHAT_PAY("weichatPay","微信支付"),
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 鉴别Code是否合法
|
||||
* 如果存在code则返回true,不存在则返回false
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
public static boolean isCode(String code){
|
||||
return Arrays.stream(values())
|
||||
.map(SysPayType::getCode)
|
||||
.anyMatch(s->s.equals(code));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过code获取支付渠道
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
public static String getInfoByCode(String code){
|
||||
return Arrays.stream(values())
|
||||
.filter(s->s.getCode().equals(code))
|
||||
.findFirst()
|
||||
.map(SysPayType::getInfo)
|
||||
.orElseGet(()->"-");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.muyu.common.core.validation.custom;
|
||||
|
||||
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:weiran
|
||||
* @Package:com.muyu.common.core.validation.custom
|
||||
* @Project:cloud-common-core
|
||||
* @name:IsSystemYesNo
|
||||
* @Date:2024/8/5 21:21
|
||||
*/
|
||||
@Target({ElementType.FIELD})
|
||||
@Retention(RUNTIME)
|
||||
@Documented
|
||||
@Constraint(validatedBy = {SystemPayTypeValidator.class})
|
||||
public @interface IsSystemPayType {
|
||||
String message() default "[支付渠道] - 参数不合法";
|
||||
Class<?>[] groups() default { };
|
||||
Class<? extends Payload>[] payload() default { };
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.muyu.common.core.validation.custom;
|
||||
|
||||
import com.muyu.common.core.enums.SysPayType;
|
||||
import jakarta.validation.ConstraintValidator;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
|
||||
/**
|
||||
* @Author:weiran
|
||||
* @Package:com.muyu.common.core.validation.custom
|
||||
* @Project:cloud-common-core
|
||||
* @name:SystemYesNoValidator
|
||||
* @Date:2024/8/5 21:23
|
||||
*/
|
||||
public class SystemPayTypeValidator implements ConstraintValidator<IsSystemPayType,String> {
|
||||
@Override
|
||||
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
|
||||
return SysPayType.isCode(value);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue