Files
exchange_go/pkg/utility/snowflakehelper/snowflakehelper.go
2025-08-01 10:30:43 +08:00

35 lines
603 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()
}
func GetOrderNo() string {
return fmt.Sprintf("%d", GetOrderId())
}