前阵子因为业务需要做了订单相关的内容,以工具类的形式记录一下:
直接上代码:
/**
* 生成统一格式(例如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

本文介绍了一种使用Java生成订单号的方法,该方法结合日期和流水号,无需依赖Redis。通过工具类代码展示具体实现过程。
最低0.47元/天 解锁文章
423





