diff --git a/pom.xml b/pom.xml
index 1f84dac..e306cf9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,6 +21,7 @@
17
2.7.18
2021.0.8
+ 2021.1
2.2.2
5.1.4
8.0.33
@@ -57,10 +58,43 @@
import
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ ${spring.cloud.alibaba.version}
+ pom
+ import
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-gateway
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-sleuth
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
org.springframework.boot
@@ -73,7 +107,7 @@
spring-security-oauth2-authorization-server
${spring.authorization.server.version}
-
+
org.springframework.boot
spring-boot-starter-oauth2-resource-server
@@ -85,6 +119,7 @@
spring-security-oauth2-jose
5.7.11
+
mysql
@@ -129,21 +164,19 @@
org.springframework.boot
spring-boot-starter-web
-
-
-
-
-
+
commons-io
commons-io
2.18.0
+
com.github.pagehelper
pagehelper
5.3.3
+
org.mapstruct
mapstruct
diff --git a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/RandomCodeUtils.java b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/RandomCodeUtils.java
new file mode 100644
index 0000000..f678e6c
--- /dev/null
+++ b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/RandomCodeUtils.java
@@ -0,0 +1,37 @@
+package com.xiang.xservice.basic.utils;
+
+import java.util.concurrent.ThreadLocalRandom;
+
+public class RandomCodeUtils {
+
+ private final static String CHAR = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
+
+
+ /**
+ * 生成随机位数数字码
+ * @param length 数字位数
+ * @return 数字随机数
+ */
+ public static String getNumberRandomCode(int length) {
+ StringBuilder sb = new StringBuilder(length);
+ ThreadLocalRandom random = ThreadLocalRandom.current();
+ for (int i = 0; i < length; i++) {
+ sb.append(random.nextInt(0, 10));
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 生成随即位数字母数字验证码
+ * @param length 位数
+ * @return 随机验证码
+ */
+ public static String getMixtureRandomCode(int length) {
+ StringBuilder sb = new StringBuilder(length);
+ ThreadLocalRandom random = ThreadLocalRandom.current();
+ for (int i = 0; i < length; i++) {
+ sb.append(CHAR.charAt(random.nextInt(CHAR.length())));
+ }
+ return sb.toString();
+ }
+}