package com.fdkk.sxz.util; import cn.hutool.core.util.IdUtil; import cn.hutool.extra.spring.SpringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; /** * @author Xiewj * @date 2021/10/22 */ @Slf4j @Component @Configuration public class SnowIdUtil { @Value("${snowflake.wordId}") private String wordId; private volatile static SnowIdUtil instance = null; public static SnowIdUtil getInstance() { if (SnowIdUtil.instance == null) { synchronized (SnowIdUtil.class) { if (SnowIdUtil.instance == null) { SnowIdUtil.instance = SpringUtil.getBean(SnowIdUtil.class); } } } return SnowIdUtil.instance; } public String getNextIdStr() { SnowIdUtil.log.info("wordId{}", wordId); return IdUtil.getSnowflake(Long.valueOf(wordId)).nextIdStr(); } }