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()
 | 
						|
}
 |