uuid.go 735 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package util
  2. import (
  3. "github.com/GUAIK-ORG/go-snowflake/snowflake"
  4. "github.com/google/uuid"
  5. "github.com/issue9/conv"
  6. "math/rand"
  7. "time"
  8. )
  9. var snowflakeInstance *snowflake.Snowflake
  10. func init() {
  11. s, err := snowflake.NewSnowflake(int64(0), int64(0))
  12. if err != nil {
  13. panic(err)
  14. }
  15. snowflakeInstance = s
  16. }
  17. func GetUUID() string {
  18. return uuid.New().String()
  19. }
  20. func GetSnowflakeID() int64 {
  21. return snowflakeInstance.NextVal()
  22. }
  23. func GetSelectionID() string {
  24. rand.Seed(time.Now().UnixNano())
  25. td := conv.MustString(time.Now().Day())
  26. for {
  27. if len(td) == 3 {
  28. break
  29. }
  30. td = "0" + td
  31. }
  32. selectionId := conv.MustString(time.Now().Year())[2:] + td + conv.MustString(rand.Intn(100000-10000)+10000)
  33. return selectionId
  34. }