// 静态变量存储最大值
private static final AtomicInteger atomicNum = new AtomicInteger();
private static final Integer INIT_CODE_NUM = 0;
public String getCode(){
//获取当前月日
String date = new SimpleDateFormat("MMdd").format(new Date());
String code = "XM"+date+"-";
String format="";
//从数据库筛选
LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(Project::getCode);
String projectCode = projectServiceImpl.list(wrapper).iterator().next().getCode();
if(!ValidationUtil.isEmpty(projectCode)){
//获取到当前code月日
String proDate = projectCode.substring(projectCode.indexOf("M")+1,projectCode.length() - 5);
if (proDate.equals(date)){
String substring = projectCode.substring(projectCode.length() - 4);
atomicNum.set(Integer.parseInt(substring));
}else {
//重置数量
atomicNum.set(INIT_CODE_NUM);
}
//生成四位随机数自加1后并返回
format = String.format("%04d", atomicNum.incrementAndGet());
}
return code+format;
}
标签:自增,String,format,原子,substring,atomicNum,Atomic,projectCode,new
From: https://www.cnblogs.com/LLW521/p/16880500.html