无需通过redis,而是直接通过JAVA来生成订单号(日期+流水号), java按日期加流水号方式生成订单号
发布日期:2022-03-02 13:24:04
浏览次数:43
分类:技术文章
本文共 1845 字,大约阅读时间需要 6 分钟。
前阵子因为业务需要做了订单相关的内容,以工具类的形式记录一下:
直接上代码:/** * 生成统一格式(例如XP2021040200001)订单号工具类 * @Author cht * @Date 2021/4/2 11:09:38 */public class OrderNumGenerate { private static final String SERIAL_NUMBER = "XXXXXX"; // 流水号格式 private static OrderNumGenerate orderNumGenerater = null; private OrderNumGenerate() { } /** * 取得PrimaryGenerate的单例实现 * @return */ public static OrderNumGenerate getInstance() { if (orderNumGenerater == null) { synchronized (OrderNumGenerate.class) { if (orderNumGenerater == null) { orderNumGenerater = new OrderNumGenerate(); } } } return orderNumGenerater; } /** * 生成下一个编号 */ public static synchronized String generateNextNumber(String num) { String id = null; String s = num.substring(0, 2); //截取订单号前缀 Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); if (num == null) { id = s+formatter.format(date) + "000001"; } else { int count = SERIAL_NUMBER.length(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < count; i++) { sb.append("0"); } String dateString=num.substring(2, 10); if(formatter.format(date).compareTo(dateString)==0){ DecimalFormat df = new DecimalFormat("000000"); id =s+formatter.format(date)+ df.format(1 + Integer.parseInt(num.substring(10, 16))); }else{ id = s+formatter.format(date) + "000001"; } } return id; }/* public static void main(String[] args) { String no = "XP20210407000001"; no = OrderNumGenerate.getInstance().generateNextNumber(no); System.out.println(no); }*/}
转载地址:https://blog.csdn.net/asdtaojava/article/details/115588227 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月23日 23时55分45秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SAP Data Intelligence Graph使用浏览器访问的url规范
2019-04-27
SAP Data Intelligence API执行出错的排错之道
2019-04-27
SAP Data Intelligence Graph json源代码的结构分析
2019-04-27
使用类似搭积木的低代码开发方式进行SAP API开发
2019-04-27
SAP Commerce(SAP Hybris)学习资料汇总
2019-04-27
SAP云平台 Document Information Extraction服务测试
2019-04-27
SAP Analytics Cloud里显示在图表里的描述信息更改
2019-04-27
SAP Analytics Cloud里避免类型为个数的measure出现小数点
2019-04-27
SAP Commerce(原Hybris)的一些架构图,持续更新
2019-04-27
如何使用R语言在SAP Analytics Cloud里绘制各种统计图表
2019-04-27
阿里云上的docker安装
2019-04-27
WordPress Kyma插件里Connect和disconnect按钮的动态显示逻辑
2019-04-27