Raod před 4 roky
rodič
revize
821c5ccab6

+ 2 - 3
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java

@@ -13,14 +13,13 @@ import com.anjiplus.template.gaea.business.modules.reportshare.dao.entity.Report
 import com.anjiplus.template.gaea.business.modules.reportshare.service.ReportShareService;
 import com.anjiplus.template.gaea.business.util.DateUtil;
 import com.anjiplus.template.gaea.business.util.JwtUtil;
+import com.anjiplus.template.gaea.business.util.UuidUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.UUID;
-
 /**
 * @desc ReportShare 报表分享服务实现
 * @author Raod
@@ -94,7 +93,7 @@ public class ReportShareServiceImpl implements ReportShareService {
         //截取#之前的内容
         //http://localhost:9528/#/bigscreen/viewer?reportCode=bigScreen2
         //http://127.0.0.1:9095/reportDashboard/getData
-        String shareCode = UUID.randomUUID().toString();
+        String shareCode = UuidUtil.generateShortUuid();
         entity.setShareCode(shareCode);
         if (entity.getShareUrl().contains(SHARE_URL)) {
             String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#"));

+ 44 - 0
report-core/src/main/java/com/anjiplus/template/gaea/business/util/UuidUtil.java

@@ -0,0 +1,44 @@
+package com.anjiplus.template.gaea.business.util;
+
+import java.util.UUID;
+
+/**
+ * Created by raodeming on 2021/8/19.
+ */
+public class UuidUtil {
+
+    public static String[] chars = new String[] { "a", "b", "c", "d", "e", "f",
+            "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
+            "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
+            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
+            "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
+            "W", "X", "Y", "Z" };
+
+
+    /**
+     * 8位短id
+     * @return
+     */
+    public static String generateShortUuid() {
+        StringBuilder builder = new StringBuilder();
+        String uuid = UUID.randomUUID().toString().replace("-", "");
+        for (int i = 0; i < 8; i++) {
+            String str = uuid.substring(i * 4, i * 4 + 4);
+            int x = Integer.parseInt(str, 16);
+            builder.append(chars[x % 0x3E]);
+        }
+        return builder.toString();
+
+    }
+
+
+    public static String generateUuid() {
+        return UUID.randomUUID().toString().replace("-", "");
+    }
+
+    public static void main(String[] args) {
+        for (int i = 0; i < 100; i++) {
+            System.out.println(generateShortUuid());
+        }
+    }
+}