From a6be27aa9790b6bcf2060326367d59cff7609bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=A8=E5=93=80?= <2076029107@qq.com> Date: Thu, 8 Aug 2024 21:23:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/core/enums/SysPayType.java | 63 +++++++++++++++++++ .../muyu/common/core/enums/SystemYesNo.java | 45 +++++++++++++ .../core/validation/custom/IsSystemYesNo.java | 22 +++++++ .../custom/SystemYsNoValidator.java | 20 ++++++ 4 files changed, 150 insertions(+) create mode 100644 src/main/java/com/muyu/common/core/enums/SysPayType.java create mode 100644 src/main/java/com/muyu/common/core/enums/SystemYesNo.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java 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..318d69e --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysPayType.java @@ -0,0 +1,63 @@ +package com.muyu.common.core.enums; + +import java.util.Arrays; + +/** + * @Author:杨鹏 + * @Package:com.muyu.common.core.enums + * @Project:cloud-common-core + * @name:SysPayType + * @Date:2024/8/7 20:41 + */ +public enum SysPayType { + + ALI_PAY("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; + } + + + /** + * 鉴别Code是否合法 + * @param code code 传code + * @return 如果存在code则返回true, 不存在则返回false + */ + public static boolean isCode(String code){ + return Arrays.stream(values()) + .map(SysPayType::getCode) + .anyMatch(s -> s.equals(code)); + } + + + /** + * 通过code获取支付渠道 + * @param code code code编码 + * @return 支付渠道 + */ + 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 new file mode 100644 index 0000000..dec6013 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -0,0 +1,45 @@ +package com.muyu.common.core.enums; + +import java.util.Arrays; + +/** + * @Author:杨鹏 + * @Package:com.muyu.common.core.enums + * @Project:cloud-common-core + * @name:SystemYesNo + * @Date:2024/8/5 21:12 + */ +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 如果存在code则返回true, 不存在则返回false + */ + public static boolean isCode(String code){ + return Arrays.stream(values()) + .map(SystemYesNo::getCode) + .anyMatch(s -> s.equals(code)); + } + +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java new file mode 100644 index 0000000..0aade08 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java @@ -0,0 +1,22 @@ +package com.muyu.common.core.validation.custom; + +import jakarta.validation.Constraint; + +import java.lang.annotation.*; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @Author:杨鹏 + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:IsSystemYesNo + * @Date:2024/8/7 11:26 + */ +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = {SystemYsNoValidator.class}) +public @interface IsSystemYesNo { + String message() default "数据字典: [系统参数] - 系统是否参数不合法"; +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java new file mode 100644 index 0000000..691b661 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java @@ -0,0 +1,20 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SystemYesNo; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @Author:杨鹏 + * @Package:com.muyu.common.core.validation.custom + * @Project:cloud-common-core + * @name:SystemYsNoValidator + * @Date:2024/8/7 11:31 + */ +public class SystemYsNoValidator implements ConstraintValidator { + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SystemYesNo.isCode(value); + } +}