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