From 1c30ab054c3d5c3585325d6123be7aaf84eeae20 Mon Sep 17 00:00:00 2001
From: 赵文轩 <1652863494@qq.com>
Date: 星期三, 08 一月 2025 10:35:50 +0800
Subject: [PATCH] 20250108

---
 ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
index f681ca0..5d88fd1 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
@@ -1,5 +1,6 @@
 package com.ltkj.common.utils;
 
+import cn.hutool.core.util.StrUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
@@ -17,6 +18,7 @@
 public class IdUtils {
 
     private static final String LIS_LAST_ID_KEY = "id:generate:lis:id";
+    private static final String LIS_LAST_ID_INCR_KEY = "id:generate:lis:id:incr";
     private static final String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate";
 
 //    private static final UidGenerator uidGenerator = new DefaultUidGenerator();  // 浣跨敤榛樿鐨凷nowflake鐢熸垚鍣�
@@ -41,6 +43,26 @@
         return String.format(prefix+"%s%05d", yyMMdd, lastId);
     }
 
+    /**
+     * 鐢熸垚鏃犻檺閫掑鏉$爜鍙�
+     * @param prefix
+     * @return
+     */
+    public synchronized String generateLisNextId(String prefix){
+        String lastIdStr = stringRedisTemplate.opsForValue().get(LIS_LAST_ID_INCR_KEY);
+        int current;
+        if (StrUtil.isBlank(lastIdStr)) {
+            current = 1;
+        }else {
+            current = Integer.parseInt(lastIdStr);
+        }
+        int numberLength = String.valueOf(99999).length();
+        String result = prefix + String.format("%0" + numberLength + "d", current);
+        current++;
+        stringRedisTemplate.opsForValue().set(LIS_LAST_ID_INCR_KEY,String.valueOf(current));
+        return result;
+    }
+
 
     //鐢熸垚浣撴鍙风敤
     private static long lastTimestamp = -1;

--
Gitblit v1.8.0