排行榜优化

This commit is contained in:
hahwu 2025-11-18 14:05:04 +08:00
parent 187742a6ca
commit 300d307b87

View File

@ -3,6 +3,7 @@ package game
import (
"fmt"
"server/GoUtil"
"server/conf"
"server/db"
"server/game/mod/msg"
"sort"
@ -33,7 +34,8 @@ const (
RANK_TYPE_USER = 1 // 玩家排行榜
RANK_TYPE_GLOBAL = 2 // 全球排行榜
RANK_USER = "rank_user" // redis玩家排行榜
RANK_USER = "rank_user" // redis玩家排行榜
RANK_COUNTRY_USER = "rank_country_user" // redis国家排行榜
)
type Rank struct {
@ -168,17 +170,19 @@ func (r *RankMgr) inRank(m *msg.Msg) (interface{}, error) {
}
return false
})
// if len(rankList) >= 100 {
// rankList = rankList[:100]
// }
r.setRank(data.RankType, rankList)
if data.RankType == RANK_TYPE_USER {
// 全球玩家排行榜
Uid := strconv.Itoa(data.Uid)
TimeSort := fmt.Sprintf("0.%d", RANK_TIME_SORT-GoUtil.Now())
TimeSortF, _ := strconv.ParseFloat(TimeSort, 64)
db.RedisZAdd(RANK_USER, Uid, data.Score+TimeSortF)
// 地区玩家排行榜
RedisKey := fmt.Sprintf("%s_%s", RANK_COUNTRY_USER, conf.Server.CountryCode)
db.RedisZAdd(RedisKey, Uid, data.Score+TimeSortF)
}
r.update = true
return nil, nil
}