From 4b04b23b771953d8c619efdd3d0cb24fab8263cb Mon Sep 17 00:00:00 2001
From: wxy <14293288+zysysys@user.noreply.gitee.com>
Date: Thu, 8 Aug 2024 19:37:10 +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
---
pom.xml | 21 +++++--
.../muyu/common/core/enums/SysPayType.java | 58 +++++++++++++++++++
.../muyu/common/core/enums/SystemYesNo.java | 44 ++++++++++++++
.../validation/custom/IsSystemPayType.java | 26 +++++++++
.../core/validation/custom/IsSystemYesNo.java | 26 +++++++++
.../custom/SystemPayTypeValidator.java | 16 +++++
.../custom/SystemYsNoValidator.java | 16 +++++
7 files changed, 203 insertions(+), 4 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/SystemYsNoValidator.java
diff --git a/pom.xml b/pom.xml
index 57cf128..68b54b5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,6 +11,8 @@
cloud-common-core
+ 3.6.3
+
cloud-common-core核心模块
@@ -132,10 +134,10 @@
-
-
-
-
+
+
+
+
javax.annotation
@@ -164,6 +166,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..4790566
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SysPayType.java
@@ -0,0 +1,58 @@
+package com.muyu.common.core.enums;
+
+import java.util.Arrays;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/8/5 下午7:47
+ */
+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
+ * @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..b6b3a2b
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SystemYesNo.java
@@ -0,0 +1,44 @@
+package com.muyu.common.core.enums;
+
+import java.util.Arrays;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/8/5 下午7:48
+ */
+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/IsSystemPayType.java b/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java
new file mode 100644
index 0000000..3c94497
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemPayType.java
@@ -0,0 +1,26 @@
+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: wangxinyuan
+ * @Date: 2024/8/5 下午7:50
+ */
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {SystemPayTypeValidator.class})
+public @interface IsSystemPayType {
+
+ String message() default "数据字典:[系统是否] - 参数不合法";
+ Class>[] groups() default { };
+ Class extends Payload>[] 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..3c647a6
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSystemYesNo.java
@@ -0,0 +1,26 @@
+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: wangxinyuan
+ * @Date: 2024/8/5 下午7:51
+ */
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {SystemYsNoValidator.class})
+public @interface IsSystemYesNo {
+
+ String message() default "数据字典:[系统是否] - 参数不合法";
+ Class>[] groups() default { };
+ Class extends Payload>[] 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..8ca7e15
--- /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: wangxinyuan
+ * @Date: 2024/8/5 下午7:51
+ */
+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/SystemYsNoValidator.java b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.java
new file mode 100644
index 0000000..bd6e820
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/SystemYsNoValidator.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: wangxinyuan
+ * @Date: 2024/8/5 下午7:52
+ */
+public class SystemYsNoValidator implements ConstraintValidator {
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
+ return SystemYesNo.isCode(value);
+ }
+}