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