31 lines
533 B
Go
31 lines
533 B
Go
package snowflakehelper
|
|
|
|
// 雪花算法用于生成订单号
|
|
|
|
import (
|
|
"fmt"
|
|
"go-admin/config"
|
|
|
|
"github.com/bwmarrin/snowflake"
|
|
)
|
|
|
|
var (
|
|
snowNode *snowflake.Node
|
|
)
|
|
|
|
func init() {
|
|
snowflake.Epoch = 1649212361224 // time.Now().UnixMilli()
|
|
// nodeId := utility.StringAsInt64()
|
|
node, err := snowflake.NewNode(config.ExtConfig.ServiceId)
|
|
if err != nil {
|
|
fmt.Println("snowflake.NewNode err:", err)
|
|
return
|
|
}
|
|
snowNode = node
|
|
}
|
|
|
|
// GetOrderId 生成int64订单id
|
|
func GetOrderId() int64 {
|
|
return snowNode.Generate().Int64()
|
|
}
|