diff --git a/src/main/java/com/muyu/common/core/enums/SysApiState.java b/src/main/java/com/muyu/common/core/enums/SysApiState.java
new file mode 100644
index 0000000..57fd160
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SysApiState.java
@@ -0,0 +1,38 @@
+package com.muyu.common.core.enums;
+
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysApiState
+ * @Description: 接口调用字典
+ * @CreatedDate: 2024/8/20 下午7:56
+ * @FilePath: com.muyu.common.core.enums
+ */
+
+@Getter
+public enum SysApiState {
+ OFF("off", "开启"),
+ ON("on", "停用");
+
+ private final String code;
+ private final String info;
+
+ SysApiState(String code, String info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ /**
+ * 鉴别参数是否是启用状态
+ * @param code 需鉴别参数
+ * @return 如果存在返回结果turn,否则返回false
+ */
+ public static boolean isCode(String code){
+ return Arrays.stream(values())
+ .map(SysApiState::getCode)
+ .anyMatch(c -> c.equals(code));
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/enums/SysCheckState.java b/src/main/java/com/muyu/common/core/enums/SysCheckState.java
new file mode 100644
index 0000000..55098d3
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SysCheckState.java
@@ -0,0 +1,40 @@
+package com.muyu.common.core.enums;
+
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysCheckState
+ * @Description: 审核状态字典
+ * @CreatedDate: 2024/8/20 下午8:01
+ * @FilePath: com.muyu.common.core.enums
+ */
+
+@Getter
+public enum SysCheckState {
+ UN("un", "未审核"),
+ YES("yes", "审核通过"),
+ NO("no", "审核驳回");
+
+ private final String code;
+ private final String info;
+
+ SysCheckState(String code, String info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ /**
+ * 鉴别参数是否是枚举的值
+ *
+ * @param code 需鉴别参数
+ * @return 如果存在返回结果turn, 否则返回false
+ */
+ public static boolean isCode(String code) {
+ return Arrays.stream(values())
+ .map(SysCheckState::getCode)
+ .anyMatch(c -> c.equals(code));
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/enums/SysDBType.java b/src/main/java/com/muyu/common/core/enums/SysDBType.java
new file mode 100644
index 0000000..15cb1a3
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/enums/SysDBType.java
@@ -0,0 +1,41 @@
+package com.muyu.common.core.enums;
+
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysDBType
+ * @Description: 数据源类型字典
+ * @CreatedDate: 2024/8/20 下午8:22
+ * @FilePath: com.muyu.common.core.enums
+ */
+
+@Getter
+public enum SysDBType {
+ MYSQL("mysql", "Mysql数据库"),
+ REDIS("redis", "Redis数据库"),
+ ES("es", "Es数据库"),
+ OTHER("other", "其他");
+
+ private final String code;
+ private final String info;
+
+ SysDBType(String code, String info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ /**
+ * 鉴别参数是否是枚举的值
+ *
+ * @param code 需鉴别参数
+ * @return 如果存在返回结果turn, 否则返回false
+ */
+ public static boolean isCode(String code) {
+ return Arrays.stream(values())
+ .map(SysDBType::getCode)
+ .anyMatch(c -> c.equals(code));
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/text/Convert.java b/src/main/java/com/muyu/common/core/text/Convert.java
index fb57cb9..667534e 100644
--- a/src/main/java/com/muyu/common/core/text/Convert.java
+++ b/src/main/java/com/muyu/common/core/text/Convert.java
@@ -1,6 +1,7 @@
package com.muyu.common.core.text;
import com.muyu.common.core.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -15,6 +16,7 @@ import java.util.Set;
*
* @author muyu
*/
+@Slf4j
public class Convert {
/**
* 转换为字符串
@@ -687,7 +689,14 @@ public class Convert {
* @return 字符串
*/
public static String str (Object obj, String charsetName) {
- return str(obj, Charset.forName(charsetName));
+ System.out.println(obj);
+ try{
+ return str(obj, Charset.forName(charsetName));
+ }catch (Exception exception){
+ System.out.println("字符转换异常: [{"+obj+"}-{"+charsetName+"}] -> {"+exception.getMessage()+"}");
+ log.error("字符转换异常: [{}-{}] -> {}",obj,charsetName,exception.getMessage(),exception);
+ throw new RuntimeException(exception);
+ }
}
/**
@@ -699,7 +708,7 @@ public class Convert {
*
* @return 字符串
*/
- public static String str (Object obj, Charset charset) {
+ public static String str(Object obj, Charset charset) {
if (null == obj) {
return null;
}
diff --git a/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java
new file mode 100644
index 0000000..747be45
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/IsSysApiStateValidator.java
@@ -0,0 +1,22 @@
+package com.muyu.common.core.validation;
+
+
+import com.muyu.common.core.enums.*;
+import com.muyu.common.core.validation.custom.*;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+/**
+ * @Author: 胡杨
+ * @Name: IsSysApiState
+ * @Description: 接口调用字典判断
+ * @CreatedDate: 2024/8/20 下午8:07
+ * @FilePath: com.muyu.common.core.validation
+ */
+
+public class IsSysApiStateValidator implements ConstraintValidator {
+ @Override
+ public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
+ return SysApiState.isCode(s);
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java
new file mode 100644
index 0000000..bde6f3c
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/IsSysCheckStateValidator.java
@@ -0,0 +1,22 @@
+package com.muyu.common.core.validation;
+
+
+import com.muyu.common.core.enums.*;
+import com.muyu.common.core.validation.custom.*;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysCheckState
+ * @Description: 审核状态字典判断
+ * @CreatedDate: 2024/8/20 下午8:09
+ * @FilePath: com.muyu.common.core.validation
+ */
+
+public class IsSysCheckStateValidator implements ConstraintValidator {
+ @Override
+ public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
+ return SysCheckState.isCode(s);
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java b/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java
new file mode 100644
index 0000000..f6bebf5
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/IsSysDBTypeValidator.java
@@ -0,0 +1,22 @@
+package com.muyu.common.core.validation;
+
+
+import com.muyu.common.core.enums.*;
+import com.muyu.common.core.validation.custom.*;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysDBType
+ * @Description: 数据源类型字典
+ * @CreatedDate: 2024/8/20 下午8:26
+ * @FilePath: com.muyu.common.core.validation
+ */
+
+public class IsSysDBTypeValidator implements ConstraintValidator {
+ @Override
+ public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
+ return SysDBType.isCode(s);
+ }
+}
diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java
new file mode 100644
index 0000000..42bf957
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysApiState.java
@@ -0,0 +1,29 @@
+package com.muyu.common.core.validation.custom;
+
+import com.muyu.common.core.validation.*;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+
+import java.lang.annotation.*;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @Author: 胡杨
+ * @Name: IsSysApiState
+ * @Description: 接口调用字典
+ * @CreatedDate: 2024/8/20 下午8:07
+ * @FilePath: com.muyu.common.core.validation.custom
+ */
+
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = IsSysApiStateValidator.class)
+public @interface IsSysApiState {
+ String message() default "数据字典:[接口调用字典] - 参数不合法";
+
+ Class>[] groups() default {};
+
+ Class extends Payload>[] payload() default {};
+}
diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java
new file mode 100644
index 0000000..0bb7341
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysCheckState.java
@@ -0,0 +1,29 @@
+package com.muyu.common.core.validation.custom;
+
+import com.muyu.common.core.validation.*;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+
+import java.lang.annotation.*;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysCheckState
+ * @Description: 审核状态字典
+ * @CreatedDate: 2024/8/20 下午8:09
+ * @FilePath: com.muyu.common.core.validation.custom
+ */
+
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = IsSysCheckStateValidator.class)
+public @interface IsSysCheckState {
+ String message() default "数据字典:[审核状态字典] - 参数不合法";
+
+ Class>[] groups() default {};
+
+ Class extends Payload>[] payload() default {};
+}
diff --git a/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java b/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java
new file mode 100644
index 0000000..d4de54c
--- /dev/null
+++ b/src/main/java/com/muyu/common/core/validation/custom/IsSysDBType.java
@@ -0,0 +1,29 @@
+package com.muyu.common.core.validation.custom;
+
+import com.muyu.common.core.validation.*;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+
+import java.lang.annotation.*;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @Author: 胡杨
+ * @Name: SysDBType
+ * @Description: 数据源类型字典
+ * @CreatedDate: 2024/8/20 下午8:26
+ * @FilePath: com.muyu.common.core.validation.custom
+ */
+
+@Target({ElementType.FIELD})
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = IsSysDBTypeValidator.class)
+public @interface IsSysDBType {
+ String message() default "数据字典:[数据源类型字典] - 参数不合法";
+
+ Class>[] groups() default {};
+
+ Class extends Payload>[] payload() default {};
+}
diff --git a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 17f73ec..0b7326f 100644
--- a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1,5 @@
com.muyu.common.core.utils.SpringUtils
com.muyu.common.core.feign.FeginConfig
+com.muyu.common.core.validation.IsSysApiStateValidator
+com.muyu.common.core.validation.IsSysCheckStateValidator
+com.muyu.common.core.validation.IsSysDBTypeValidator