From 649708b019bf244bb9c336a7855d53c5b43e0f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E8=B0=83?= <3084898776@qq.com> Date: Fri, 9 Aug 2024 11:35:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 14 ++++- .../muyu/common/core/enums/SysPayType.java | 56 +++++++++++++++++++ .../muyu/common/core/enums/SystemYesNo.java | 42 ++++++++++++++ .../core/validation/ValidationConfig.java | 3 + .../validation/custom/IsSystemPayType.java | 25 +++++++++ .../core/validation/custom/IsSystemYesNo.java | 22 ++++++++ .../custom/SystemPayTypeValidator.java | 16 ++++++ .../custom/SystemYesNoValidator.java | 16 ++++++ 8 files changed, 192 insertions(+), 2 deletions(-) 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/IsSystemPayType.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/SystemPayTypeValidator.java create mode 100644 src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java diff --git a/pom.xml b/pom.xml index b67bb82..03bc4a2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,8 +10,7 @@ 4.0.0 cloud-common-core - 1.0.0 - + 3.6.3 cloud-common-core核心模块 @@ -165,6 +164,17 @@ cn.hutool hutool-all + + + + com.dtflys.forest + forest-spring-boot3-starter + + + io.swagger.core.v3 + swagger-annotations-jakarta + + 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..7bbdcec --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SysPayType.java @@ -0,0 +1,56 @@ +package com.muyu.common.core.enums; + +import lombok.Data; + +import java.util.Arrays; + + +/** + * @author Lenovo + */ +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 + * @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编码 + * @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..ad6dbf4 --- /dev/null +++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java @@ -0,0 +1,42 @@ +package com.muyu.common.core.enums; + +import java.util.Arrays; + +/** + * @author Lenovo + */ + +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 + * @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/ValidationConfig.java b/src/main/java/com/muyu/common/core/validation/ValidationConfig.java index 0540064..5f35866 100644 --- a/src/main/java/com/muyu/common/core/validation/ValidationConfig.java +++ b/src/main/java/com/muyu/common/core/validation/ValidationConfig.java @@ -5,6 +5,9 @@ import jakarta.validation.Validator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * @author Lenovo + */ @Configuration public class ValidationConfig { @Bean 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..eedeb19 --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java @@ -0,0 +1,25 @@ +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 Lenovo + */ +@Target({ElementType.FIELD}) +@Retention(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/IsSystemYesNo.java b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java new file mode 100644 index 0000000..bbcf38e --- /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 jakarta.validation.Payload; + +import java.lang.annotation.*; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @author Lenovo + */ +@Target({ElementType.FIELD}) +@Retention(RUNTIME) +@Documented +@Constraint(validatedBy = {SystemYesNoValidator.class}) +public @interface IsSystemYesNo { + 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..9b01d7e --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemPayTypeValidator.java @@ -0,0 +1,16 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SysPayType; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @author Lenovo + */ +public class SystemPayTypeValidator implements ConstraintValidator { + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SysPayType.isCode(value); + } +} diff --git a/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java new file mode 100644 index 0000000..cfb8c5a --- /dev/null +++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYesNoValidator.java @@ -0,0 +1,16 @@ +package com.muyu.common.core.validation.custom; + +import com.muyu.common.core.enums.SystemYesNo; +import jakarta.validation.ConstraintValidator; +import jakarta.validation.ConstraintValidatorContext; + +/** + * @author Lenovo + */ +public class SystemYesNoValidator implements ConstraintValidator { + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + return SystemYesNo.isCode(value); + } +}