From 675ccd51874f9c005285eab3e4829e451848b4b6 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 07 六月 2023 11:11:29 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
index d6504ad..d953bc7 100644
--- a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -280,8 +280,12 @@
 
     private static String PLATFORM_CODE = "0001";
 
-    @SuppressWarnings("finally")
     public static String nextId(String idLength) {
+        return nextId(idLength,true);
+    }
+
+    @SuppressWarnings("finally")
+    public static String nextId(String idLength,boolean hasRandom) {
         LOCK.lock();
         try {
             if (lastCount == ONE_STEP) {
@@ -290,7 +294,7 @@
             count = lastCount++;
         } finally {
             LOCK.unlock();
-            String id = getRandom() + String.format(idLength, count);
+            String id = (hasRandom?getRandom():"") + String.format(idLength, count);
             id = id.replace("-","");
             return id;
         }
@@ -342,8 +346,37 @@
      * @throws GenerateCodeException
      */
     public static String getGeneratorId(String prefix) throws GenerateCodeException {
+        return getGeneratorId(prefix,false);
+    }
+
+    /**
+     * pgId鐢熸垚
+     *
+     * @return
+     * @throws GenerateCodeException
+     */
+    public static String getGeneratorId(String prefix,boolean longId) throws GenerateCodeException {
         if (!MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_NEED_INVOKE_GENERATE_ID))) {
-            return prefix + DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_H) + nextId("%04d");
+            //2+14+4+6
+            //7920230518235714886
+            if(longId) {
+                return prefix + DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_DEFAULT) + nextId("%06d");
+            }else {
+                return prefix + DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_H) + nextId("%04d");
+            }
+        }
+        //璋冪敤鏈嶅姟
+        return getCode(prefix);
+    }
+    /**
+     * pgId鐢熸垚
+     *
+     * @return
+     * @throws GenerateCodeException
+     */
+    public static String getDetailId(String prefix) throws GenerateCodeException {
+        if (!MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_NEED_INVOKE_GENERATE_ID))) {
+            return prefix + DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_O) + nextId("%06d",false);
         }
         //璋冪敤鏈嶅姟
         return getCode(prefix);

--
Gitblit v1.8.0