12345678910111213141516171819202122232425262728293031323334353637383940 |
- package util
- import (
- "fmt"
- "github.com/bwmarrin/snowflake"
- "github.com/spf13/viper"
- "time"
- )
- var node *snowflake.Node
- func init() {
- tie := viper.GetString("time.time")
- if err := Init(tie, 1); err != nil {
- fmt.Println("Init() failed, err = ", err)
- return
- }
- }
- func Init(startTime string, machineID int64) (err error) {
- var st time.Time
- // 格式化 1月2号下午3时4分5秒 2006年
- st, err = time.Parse("2006-01-02", startTime)
- if err != nil {
- fmt.Println(err)
- return
- }
- snowflake.Epoch = st.UnixNano() / 1e6
- node, err = snowflake.NewNode(machineID)
- if err != nil {
- fmt.Println(err)
- return
- }
- return
- }
- func GenID() int64 {
- return node.Generate().Int64()
- }
|