上外网前准备

This commit is contained in:
flswld
2023-02-03 19:19:18 +08:00
parent dc6c0840fc
commit 34b87fadfc
10 changed files with 120 additions and 14 deletions

View File

@@ -0,0 +1,46 @@
package dao
import (
"context"
)
const RedisPlayerKeyPrefix = "HK4E"
const (
AccountIdRedisKey = "AccountId"
AccountIdBegin uint64 = 1
YuanShenUidRedisKey = "YuanShenUid"
YuanShenUidBegin uint64 = 100000001
)
func (d *Dao) GetNextAccountId() (uint64, error) {
return d.redisInc(RedisPlayerKeyPrefix + ":" + AccountIdRedisKey)
}
func (d *Dao) GetNextYuanShenUid() (uint64, error) {
return d.redisInc(RedisPlayerKeyPrefix + ":" + YuanShenUidRedisKey)
}
func (d *Dao) redisInc(keyName string) (uint64, error) {
exist, err := d.redis.Exists(context.TODO(), keyName).Result()
if err != nil {
return 0, err
}
if exist == 0 {
var value uint64 = 0
if keyName == AccountIdRedisKey {
value = AccountIdBegin
} else if keyName == YuanShenUidRedisKey {
value = YuanShenUidBegin
}
err := d.redis.Set(context.TODO(), keyName, value, 0).Err()
if err != nil {
return 0, err
}
}
id, err := d.redis.Incr(context.TODO(), keyName).Result()
if err != nil {
return 0, err
}
return uint64(id), nil
}