From ece69c8750627ac0ff4c6be758df570f428802fc Mon Sep 17 00:00:00 2001 From: luolm <470431449@qq.com> Date: Mon, 17 Feb 2025 22:32:02 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobilebroken/admin/constant/Constant.java | 12 ++++++++++++ .../admin/controller/BaseAreaController.java | 4 +++- .../src/test/java/ControllerTest.java | 6 +++++- .../common/util/UniqueSequenceGenerator.java | 16 ++++++---------- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/constant/Constant.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/constant/Constant.java index 964b970b..8b8a5800 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/constant/Constant.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/constant/Constant.java @@ -2,7 +2,19 @@ package com.nflg.mobilebroken.admin.constant; public class Constant { + + /** + * 设备类型编码前缀 + */ public static final String DeviceTypeCodePrefix="DEVT"; + /** + * 代理商编码前缀 + */ public static final String CustomerCodePrefix="CUSM"; + + /** + * 区域编码前缀 + */ + public static final String AreaCodePrefix="A"; } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/BaseAreaController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/BaseAreaController.java index fe806628..556bcb48 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/BaseAreaController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/BaseAreaController.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.nflg.mobilebroken.admin.annotation.ApiMark; +import com.nflg.mobilebroken.admin.constant.Constant; import com.nflg.mobilebroken.admin.pojo.dto.BaseAreaEditDTO; import com.nflg.mobilebroken.admin.pojo.query.BaseAreaQuery; import com.nflg.mobilebroken.admin.service.AdminBaseAreaService; @@ -13,6 +14,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; +import com.nflg.mobilebroken.common.util.UniqueSequenceGenerator; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.TBaseArea; import com.nflg.mobilebroken.repository.service.ITBaseAreaService; @@ -84,7 +86,7 @@ public class BaseAreaController extends ControllerBase { ent.setDataModifyUserNo(AdminUserUtil.getUserNo()); ent.setDataModifyUserName(AdminUserUtil.getUserName()); ent.setDataModifyTime(LocalDateTime.now()); - ent.setAreaCode(StrUtil.padPre(count.toString(),6,"0")); + ent.setAreaCode(UniqueSequenceGenerator.generateCode(Constant.AreaCodePrefix)); baseAreaService.save(ent); return ApiResult.success(true); diff --git a/nflg-mobilebroken-admin/src/test/java/ControllerTest.java b/nflg-mobilebroken-admin/src/test/java/ControllerTest.java index b36ed639..8ee2d9b5 100644 --- a/nflg-mobilebroken-admin/src/test/java/ControllerTest.java +++ b/nflg-mobilebroken-admin/src/test/java/ControllerTest.java @@ -4,6 +4,7 @@ import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.admin.service.AdminCustomerService; import com.nflg.mobilebroken.admin.service.AdminDeviceService; import com.nflg.mobilebroken.admin.service.CrmService; +import com.nflg.mobilebroken.common.util.UniqueSequenceGenerator; import com.nflg.mobilebroken.repository.entity.AdminApi; import com.nflg.mobilebroken.repository.service.IAdminApiService; import org.junit.jupiter.api.Test; @@ -33,7 +34,10 @@ public class ControllerTest { @Test public void testToken(){ - customerService.syncFromCrm("2020-04-15","2020-04-15"); //2020-05-21 +// customerService.syncFromCrm("2020-04-15","2020-04-15"); //2020-05-21 + String qu = UniqueSequenceGenerator.generateCode("QU"); + System.out.println(qu); + } @Test diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/UniqueSequenceGenerator.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/UniqueSequenceGenerator.java index c139f08a..88fd97db 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/UniqueSequenceGenerator.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/util/UniqueSequenceGenerator.java @@ -2,11 +2,12 @@ package com.nflg.mobilebroken.common.util; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; public class UniqueSequenceGenerator { - private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + private static final SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmssSSS"); @@ -15,17 +16,12 @@ public class UniqueSequenceGenerator { * @return 唯一顺序编码字符串 */ public static synchronized String generateCode(String prefix) { - AtomicInteger sequence = new AtomicInteger(0); + // 获取当前时间戳,精确到毫秒 String timestamp = sdf.format(new Date()); - // 获取序列号,并在达到9999时重置为0 - int seq = sequence.incrementAndGet(); - if (seq > 9999) { - sequence.set(0); - seq = sequence.incrementAndGet(); - } - // 格式化序列为4位数字,不足前面补0 - String sequenceStr = String.format("%04d", seq); + Random random=new Random(); + String sequenceStr = String.format("%04d", random.nextInt(10000)); + return prefix + timestamp + sequenceStr; }