package help

import (
	"math/rand"
	"time"

	"github.com/sqids/sqids-go"
)

var sqlids_sqlids *sqids.Sqids

func init() {
	// 设置随机数种子
	rand.NewSource(time.Now().UnixNano())

	sqlids_sqlids, _ = sqids.New()
}

// 保证每秒，id唯一。同一秒内，由随机数区分，可能出现重复。
// 注：	此微信用户名，只是展示名称，不能作为用户唯一标识使用，后期用户也可以修改。所有并没有严格唯一性要求，只要不容易重复即可。
func GetUniqueIdEachSecond() string {
	// 生成一个0到1000之间的随机数
	randomNum := rand.Intn(1001)
	// 获取当前时间戳，精度秒即可。
	ts := time.Now().Unix()
	// 根据整数数组，生成唯一的短id
	id, _ := sqlids_sqlids.Encode([]uint64{uint64(ts), uint64(randomNum)})
	return id
}
