guohongjin
2024-05-15 5b7639f0bd9e056738ec15100ed0532e965c6cd5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package cn.stylefeng.guns.utils;
 
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.rule.enums.OrderTypeEnum;
import lombok.experimental.UtilityClass;
 
/**
 * 工具类
 */
@UtilityClass
public class GeneralUtil {
 
    /**
     * 生成订单号
     * 生成规则:订单前缀(2) + 时间(15) + 随机数(5)
     */
    public String generateOrderNo(OrderTypeEnum e) {
        return e.getCode() +
                DateUtil.format(DateUtil.date(), "yyMMddHHmmssSSS") +
                RandomUtil.randomNumbers(4);
    }
 
    /**
     * 生成退款订单号
     * 生成规则:订单前缀(3) + 业务订单号
     */
    public String generateRefundOrderNo(String orderNo) {
        return OrderTypeEnum.REFUND_ORDER.getCode() +
                orderNo;
    }
 
    /**
     * 生成员工工号
     * 生成规则:六位数字员工号,唯一
     */
    public String generateWorkNo() {
        return RandomUtil.randomString(RandomUtil.BASE_NUMBER.toUpperCase(), 6);
    }
 
    /**
     * 生成用户展示ID
     * 生成规则:XTT+随机六位数字
     */
    public String generateShowId() {
        return "XTT" + RandomUtil.randomNumbers(6);
    }
 
    /**
     * 生成用户昵称
     * 生成规则:大写字母(2) + 随机数(4)
     */
    public String generateNickName() {
        return RandomUtil.randomString(RandomUtil.BASE_CHAR.toUpperCase(), 2) + RandomUtil.randomNumbers(4);
    }
 
    /**
     * 虚拟一个注册邮箱
     */
    public String generateEmail(String email) {
        //return email + "@yjjjxlzx.com";
        return "";
    }
 
    /**
     * 生成随机模块编号
     * 生成规则:时间(15) + 随机数(5)
     */
    public String generateModuleNo() {
        return DateUtil.format(DateUtil.date(), "yyMMddHHmmssSSS") +
                RandomUtil.randomNumbers(4);
    }
 
    /**
     * 统一的工作人员昵称
     * 生成规则:有昵称优先使用昵称,没有昵称使用姓名
     */
    public static String getUnifyNickName(String nickName, String realName) {
        if (StrUtil.isNotBlank(nickName)) {
            return nickName;
        }
        if (StrUtil.isNotBlank(realName)) {
            return realName;
        }
        return null;
    }
}