无需通过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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:20120912 关于WPF控件的进一步学习 续-动态改变UI
下一篇:20120828

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月23日 23时55分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章