代码示例:
/**
* <p>按日期+随机数生成订单号</p>
*
* @param datePattern 日期格式
* @param digit 随机数位数,默认2
* @return 订单号
* @author hkl
* @date 2023/1/19
*/
public static String generateOrderNo(String datePattern, int digit) {
digit = (ObjectUtil.isNull(digit) || digit == 0) ? 2 : digit;
//限制范围
StringBuilder digitSbStr = new StringBuilder();
for (int i = 0; i < digit; i++) {
digitSbStr.append("9");
}
StringBuilder sb = new StringBuilder();
sb.append(DateUtil.format(new Date(), StrUtil.isNotBlank(datePattern) ? datePattern : DateUtils.DATE_FORMAT_YYYYMMDD));
//位数不足,0补全
sb.append(String.format("%0" + digit + "d", RandomUtil.randomInt(Integer.parseInt(digitSbStr.toString()))));
return sb.toString();
}