xiangpei
2025-05-19 76695c351a2a1a1cb09fedcdd1459c02c49b489d
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
package cn.lili.common.utils;
 
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import lombok.extern.slf4j.Slf4j;
 
import java.util.Date;
 
/**
 * 雪花分布式id获取
 *
 * @author Chopper
 */
@Slf4j
public class SnowFlake {
 
//    /**
//     * 机器id
//     */
//    private static long workerId = 0L;
//    /**
//     * 机房id
//     */
//    public static long datacenterId = 0L;
 
    private static Snowflake snowflake;
 
    /**
     * 初始化配置
     *
     * @param workerId
     * @param datacenterId
     */
    public static void initialize(long workerId, long datacenterId) {
        snowflake = IdUtil.getSnowflake(workerId, datacenterId);
    }
 
    public static long getId() {
        return snowflake.nextId();
    }
 
    /**
     * 生成字符,带有前缀
     *
     * @param prefix
     * @return
     */
    public static String createStr(String prefix) {
        return prefix + DateUtil.toString(new Date(), "yyyyMMdd") + SnowFlake.getId();
    }
 
    public static String getIdStr() {
        return snowflake.nextId() + "";
    }
}