package com.xzx.log.util;
|
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.lang.Snowflake;
|
import cn.hutool.core.util.IdUtil;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
public class IdUtils {
|
|
@Value("${workerId}")
|
private String workerId;
|
|
/**
|
* 生成分布式唯一全局ID
|
* @param prefix ID前缀
|
* @param datacenterId 数据中心ID(0~31) 0:支付订单(pay_info) 1 订单xzx_order_info 2入库 3 用户 4账户 5回收数据
|
* @return
|
*/
|
public String generate(String prefix,long datacenterId){
|
Snowflake snowflake = IdUtil.createSnowflake(Convert.toLong(workerId), datacenterId);
|
return prefix+snowflake.nextIdStr();
|
}
|
}
|