拼团 订单

This commit is contained in:
2025-12-16 18:06:04 +08:00
parent 48f368c1b1
commit 01ca38079b
38 changed files with 1485 additions and 116 deletions

View File

@@ -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;
}
}

View File

@@ -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() + "";
}
}