46 lines
1.2 KiB
Java
46 lines
1.2 KiB
Java
package com.mcwl.common.utils;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Random;
|
|
|
|
/**
|
|
* 订单编号生成工具
|
|
*
|
|
* @date 2024/5/30 下午6:02
|
|
*/
|
|
public class OrderCodeUtil {
|
|
|
|
public static final int ORDER_CODE_LENGTH = 24;
|
|
private static final String ORDER_CODE_DATA_FORMAT = "yyyyMMddHHmmss";
|
|
private static final int ORDER_CODE_RANDOM_NUMBER = 10;
|
|
private static final int ORDER_CODE_RANDOM_LENGTH = 6;
|
|
|
|
|
|
/**
|
|
* 生成订单编号
|
|
*
|
|
* @return 订单编号
|
|
*/
|
|
public static String generateOrderCode() {
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat(ORDER_CODE_DATA_FORMAT);
|
|
String random = getRandom(ORDER_CODE_RANDOM_LENGTH);
|
|
Date date = new Date();
|
|
String time = dateFormat.format(date);
|
|
String code = "XS" + time + random;
|
|
while (code.length() < ORDER_CODE_LENGTH) {
|
|
code = code + 0;
|
|
}
|
|
return code;
|
|
}
|
|
|
|
private static String getRandom(int len) {
|
|
Random r = new Random();
|
|
StringBuilder rs = new StringBuilder();
|
|
for (int i = 0; i < len; i++) {
|
|
rs.append(r.nextInt(ORDER_CODE_RANDOM_NUMBER));
|
|
}
|
|
return rs.toString();
|
|
}
|
|
}
|