拼团 订单
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.czg.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 订单号前缀枚举
|
||||
*
|
||||
* @author ww
|
||||
*/
|
||||
@Getter
|
||||
public enum OrderNoPrefixEnum {
|
||||
//RE 是固定退款前缀 具体功能 往后拼标识
|
||||
// 积分 point P 标识
|
||||
// 拼团 group buy GB 或者 G 标识
|
||||
// 预约 Booking BK 标识
|
||||
|
||||
BK("BK", "预约"),
|
||||
DH("DH", "积分商品兑换单号"),
|
||||
REP("REP", "积分商品退款"),
|
||||
|
||||
GB("GB", "拼团-团单号"),
|
||||
GBO("GBO", "拼团-订单号"),
|
||||
REG("REG", "拼团-退单"),
|
||||
;
|
||||
|
||||
private final String value;
|
||||
private final String msg;
|
||||
|
||||
OrderNoPrefixEnum(String value, String msg) {
|
||||
this.value = value;
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.czg.utils;
|
||||
|
||||
import cn.hutool.core.lang.id.NanoId;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.czg.enums.OrderNoPrefixEnum;
|
||||
|
||||
/**
|
||||
* @author ww
|
||||
@@ -31,6 +33,7 @@ public class CzgRandomUtils {
|
||||
return NanoId.randomNanoId(null, DEFAULT_ALPHABET, DEFAULT_SIZE);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 随机生成指定长度的字符串
|
||||
*
|
||||
@@ -42,15 +45,40 @@ public class CzgRandomUtils {
|
||||
}
|
||||
|
||||
|
||||
public static String randomNumber(int length) {
|
||||
/**
|
||||
* 随机生成指定长度的数字 不带前缀
|
||||
*
|
||||
* @param length 订单号长度
|
||||
* @param isFirstNoZero 是否第一个字符不能为0
|
||||
* @return 订单号
|
||||
*/
|
||||
public static String randomNumber(int length, boolean isFirstNoZero) {
|
||||
if (isFirstNoZero) {
|
||||
return NanoId.randomNanoId(null, BASE_NUMBER_NO_ZERO, 1) + NanoId.randomNanoId(null, BASE_NUMBER, length - 1);
|
||||
}
|
||||
return NanoId.randomNanoId(null, BASE_NUMBER, length);
|
||||
}
|
||||
|
||||
public static String randomNumFirstNoZero(int length) {
|
||||
return NanoId.randomNanoId(null, BASE_NUMBER_NO_ZERO, 1) + NanoId.randomNanoId(null, BASE_NUMBER, length - 1);
|
||||
/**
|
||||
* 随机生成指定长度的数字
|
||||
*
|
||||
* @param prefixEnum 订单号前缀枚举
|
||||
* @param length 订单号长度
|
||||
* @param isFirstNoZero 是否第一个字符不能为0
|
||||
* @return 订单号
|
||||
*/
|
||||
public static String randomNumber(OrderNoPrefixEnum prefixEnum, int length, boolean isFirstNoZero) {
|
||||
if (isFirstNoZero) {
|
||||
return prefixEnum.getValue() + NanoId.randomNanoId(null, BASE_NUMBER_NO_ZERO, 1) + NanoId.randomNanoId(null, BASE_NUMBER, length - 1);
|
||||
}
|
||||
return prefixEnum.getValue() + NanoId.randomNanoId(null, BASE_NUMBER, length);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(CzgRandomUtils.randomNumFirstNoZero(20));
|
||||
public static String snowflake(OrderNoPrefixEnum prefixEnum) {
|
||||
return prefixEnum.getValue() + IdUtil.getSnowflakeNextId();
|
||||
}
|
||||
|
||||
public static String snowflake() {
|
||||
return IdUtil.getSnowflakeNextId() + "";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user