SnowIdUtil.java 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.fdkk.sxz.util;
  2. import cn.hutool.core.util.IdUtil;
  3. import cn.hutool.extra.spring.SpringUtil;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.springframework.beans.factory.annotation.Value;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.stereotype.Component;
  8. /**
  9. * @author Xiewj
  10. * @date 2021/10/22
  11. */
  12. @Slf4j
  13. @Component
  14. @Configuration
  15. public class SnowIdUtil {
  16. @Value("${snowflake.wordId}")
  17. private String wordId;
  18. private volatile static SnowIdUtil instance = null;
  19. public static SnowIdUtil getInstance() {
  20. if (SnowIdUtil.instance == null) {
  21. synchronized (SnowIdUtil.class) {
  22. if (SnowIdUtil.instance == null) {
  23. SnowIdUtil.instance = SpringUtil.getBean(SnowIdUtil.class);
  24. }
  25. }
  26. }
  27. return SnowIdUtil.instance;
  28. }
  29. public String getNextIdStr() {
  30. SnowIdUtil.log.info("wordId{}", wordId);
  31. return IdUtil.getSnowflake(Long.valueOf(wordId)).nextIdStr();
  32. }
  33. }