BUG修复

This commit is contained in:
luolm 2025-02-17 22:32:02 +08:00
parent 027bc4eedf
commit ece69c8750
4 changed files with 26 additions and 12 deletions

View File

@ -2,7 +2,19 @@ package com.nflg.mobilebroken.admin.constant;
public class Constant { public class Constant {
/**
* 设备类型编码前缀
*/
public static final String DeviceTypeCodePrefix="DEVT"; public static final String DeviceTypeCodePrefix="DEVT";
/**
* 代理商编码前缀
*/
public static final String CustomerCodePrefix="CUSM"; public static final String CustomerCodePrefix="CUSM";
/**
* 区域编码前缀
*/
public static final String AreaCodePrefix="A";
} }

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.nflg.mobilebroken.admin.annotation.ApiMark; 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.dto.BaseAreaEditDTO;
import com.nflg.mobilebroken.admin.pojo.query.BaseAreaQuery; import com.nflg.mobilebroken.admin.pojo.query.BaseAreaQuery;
import com.nflg.mobilebroken.admin.service.AdminBaseAreaService; 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.PageData;
import com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO; import com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO;
import com.nflg.mobilebroken.common.util.AdminUserUtil; 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.common.util.VUtils;
import com.nflg.mobilebroken.repository.entity.TBaseArea; import com.nflg.mobilebroken.repository.entity.TBaseArea;
import com.nflg.mobilebroken.repository.service.ITBaseAreaService; import com.nflg.mobilebroken.repository.service.ITBaseAreaService;
@ -84,7 +86,7 @@ public class BaseAreaController extends ControllerBase {
ent.setDataModifyUserNo(AdminUserUtil.getUserNo()); ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
ent.setDataModifyUserName(AdminUserUtil.getUserName()); ent.setDataModifyUserName(AdminUserUtil.getUserName());
ent.setDataModifyTime(LocalDateTime.now()); ent.setDataModifyTime(LocalDateTime.now());
ent.setAreaCode(StrUtil.padPre(count.toString(),6,"0")); ent.setAreaCode(UniqueSequenceGenerator.generateCode(Constant.AreaCodePrefix));
baseAreaService.save(ent); baseAreaService.save(ent);
return ApiResult.success(true); return ApiResult.success(true);

View File

@ -4,6 +4,7 @@ import com.nflg.mobilebroken.admin.annotation.ApiMark;
import com.nflg.mobilebroken.admin.service.AdminCustomerService; import com.nflg.mobilebroken.admin.service.AdminCustomerService;
import com.nflg.mobilebroken.admin.service.AdminDeviceService; import com.nflg.mobilebroken.admin.service.AdminDeviceService;
import com.nflg.mobilebroken.admin.service.CrmService; 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.entity.AdminApi;
import com.nflg.mobilebroken.repository.service.IAdminApiService; import com.nflg.mobilebroken.repository.service.IAdminApiService;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -33,7 +34,10 @@ public class ControllerTest {
@Test @Test
public void testToken(){ 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 @Test

View File

@ -2,11 +2,12 @@ package com.nflg.mobilebroken.common.util;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
public class UniqueSequenceGenerator { 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 唯一顺序编码字符串 * @return 唯一顺序编码字符串
*/ */
public static synchronized String generateCode(String prefix) { public static synchronized String generateCode(String prefix) {
AtomicInteger sequence = new AtomicInteger(0);
// 获取当前时间戳精确到毫秒 // 获取当前时间戳精确到毫秒
String timestamp = sdf.format(new Date()); String timestamp = sdf.format(new Date());
// 获取序列号并在达到9999时重置为0 Random random=new Random();
int seq = sequence.incrementAndGet(); String sequenceStr = String.format("%04d", random.nextInt(10000));
if (seq > 9999) {
sequence.set(0);
seq = sequence.incrementAndGet();
}
// 格式化序列为4位数字不足前面补0
String sequenceStr = String.format("%04d", seq);
return prefix + timestamp + sequenceStr; return prefix + timestamp + sequenceStr;
} }