package com.xzx.gc.common.utils; 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前缀 如支付:ZF * @param datacenterId 数据中心ID(0~31) 0:支付 1 订单 2入库 3 用户 4账户 5特殊用户 6废品站 7结算 8请假 * @return */ public String generate(String prefix,long datacenterId){ Snowflake snowflake = IdUtil.getSnowflake(Convert.toLong(workerId), datacenterId); return prefix+snowflake.nextIdStr(); } }