From 57269151d78d3dbf7c959263c2022ba5f6c441e9 Mon Sep 17 00:00:00 2001 From: 王家文 Date: Mon, 17 Jun 2024 17:41:51 +0800 Subject: [PATCH] fix:房间排行bi用的玩家评级修改 --- service/roomrank/handle.go | 6 ++---- service/roomrank/player.go | 33 +++++++++++++++++---------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/service/roomrank/handle.go b/service/roomrank/handle.go index f350ac7..d236515 100644 --- a/service/roomrank/handle.go +++ b/service/roomrank/handle.go @@ -140,8 +140,6 @@ func HandleGetSettleAward(req *models.ReqRoomRankGetSettleAward) (code string, r player.Name = req.PlayerName player.Icon = req.PlayerIcon - oldUserClass := player.UserClass - // 采用分布式锁 lockKey := getLockKey(gameId, req.TopType) opt := zredislock.GetOptionLimitRetry(RoomLockLinearBackoff, RoomLockMaxCount) @@ -173,7 +171,8 @@ func HandleGetSettleAward(req *models.ReqRoomRankGetSettleAward) (code string, r // 查找玩家所在的房间 room, hasRoom := TryGetRoom(gameId, req.TopType, player, confActivity) if hasRoom { - rsp.Tops = GetTopsInfoFromRoom(room, confActivity) + //// 这里使用旧的用户评级 客户端用来打点 + rsp.UserClass, rsp.Tops = GetTopsInfoFromRoom(room, confActivity) } } } @@ -184,7 +183,6 @@ func HandleGetSettleAward(req *models.ReqRoomRankGetSettleAward) (code string, r rsp.SettleRank = player.SettleRank rsp.SettleScore = player.SettleScore //rsp.UserClass = player.SettleUserClass - rsp.UserClass = oldUserClass // 这里使用旧的用户评级 客户端用来打点 rsp.AwardText = player.SettleAward player.SettleAward = "" player.ActivityId = 0 diff --git a/service/roomrank/player.go b/service/roomrank/player.go index 847dfbb..da970dc 100644 --- a/service/roomrank/player.go +++ b/service/roomrank/player.go @@ -138,25 +138,26 @@ func GetInfoFromRoom(gameId string, player *Player, room *Room, config *confroom return info } -func GetTopsInfoFromRoom(room *Room, config *confroomrank.ActivityConfig) []models.RoomRankTopNode { - info := make([]models.RoomRankTopNode, 0) - for i := 0; i < len(room.Details.Players); i++ { - p := room.Details.Players[i] - rank := i + 1 - node := models.RoomRankTopNode{ - Rank: rank, - Uid: p.Uid, - Score: p.Score, - Name: p.Name, - Icon: p.Icon, - IsRobot: p.IsRobot(), - } - if confRoom, hasConfRoom := config.Room[room.ConfigId]; hasConfRoom { +func GetTopsInfoFromRoom(room *Room, config *confroomrank.ActivityConfig) (oldUserClass int, tops []models.RoomRankTopNode) { + tops = make([]models.RoomRankTopNode, 0) + if confRoom, hasConfRoom := config.Room[room.ConfigId]; hasConfRoom { + oldUserClass = confRoom.UserClass + for i := 0; i < len(room.Details.Players); i++ { + p := room.Details.Players[i] + rank := i + 1 + node := models.RoomRankTopNode{ + Rank: rank, + Uid: p.Uid, + Score: p.Score, + Name: p.Name, + Icon: p.Icon, + IsRobot: p.IsRobot(), + } if confAward, hasConfAward := confRoom.Awards[zconvert.IntToStr(rank)]; hasConfAward { node.Award = confAward } + tops = append(tops, node) } - info = append(info, node) } - return info + return } -- libgit2 0.21.0