package guid

import (
	"context"
	csnowflake "github.com/mhaya/extend/snowflake"
	"github.com/mhaya/game/game_cluster/internal/mdb"
)

// Next 生成唯一id
// 以下几种方式仅供参考：
// snowflake
// redis
func Next() string {
	node, _ := csnowflake.NewNode(1)
	var sid string
	for {
		id := node.Generate()
		sid = id.Base58()
		if mdb.RDB.HExists(context.Background(), "PlayerID", sid).Val() {
			continue
		}
		mdb.RDB.HSet(context.Background(), "PlayerID", sid, 1)
		return sid
	}
}
