diff --git a/src/main/java/com/muyu/common/core/enums/SysPayType.java b/src/main/java/com/muyu/common/core/enums/SysPayType.java new file mode 100644 index 0000000..ddc161b --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysPayType.java @@ -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(()->"-"); + } +} diff --git a/src/main/java/com/muyu/common/core/enums/SystemYesNo.java b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java index 18b371d..71d6a4d 100644 --- a/src/main/java/com/muyu/common/core/enums/SystemYesNo.java +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -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; } diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java b/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java new file mode 100644 index 0000000..abf5604 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java @@ -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[] payload() default { }; + +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/SystemPayTypeValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemPayTypeValidator.java new file mode 100644 index 0000000..bbcdf16 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemPayTypeValidator.java @@ -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 { + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + return SysPayType.isCode(s); + + } +}