package snowflake

import (
	sf "github.com/go-pay/util/snowflake"
	"sync"
)

var once sync.Once
var snowflake *sf.Node

func InitSnowflake(workerID int64) (err error) {
	// 创建雪花ID生成器
	if snowflake == nil {
		once.Do(func() {
			snowflake, err = sf.NewNode(workerID)
		})
	}

	return err
}

func GetID() int64 {
	if snowflake == nil {
		return 0
	}
	return snowflake.Generate().Int64()
}