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)){
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);
}
format = String.format("%04d", atomicNum.incrementAndGet());
}
return code+format;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程