上传排行版逻辑修复

This commit is contained in:
liwei1dao 2024-02-06 16:35:45 +08:00
parent 60529513e6
commit 0bf79ae714
4 changed files with 79 additions and 47 deletions

View File

@ -13,12 +13,13 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.EnchantRan
func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankListReq) (errdata *pb.ErrorData) {
var ( var (
uids []string uids []string
ranks []*pb.DBEnchant ranks []*pb.DBEnchant
franks []*pb.DBEnchant ranksmap map[string]*pb.DBEnchant
players []*pb.DBEnchantRank franks []*pb.DBEnchant
friends []*pb.DBEnchantRank players []*pb.DBEnchantRank
err error friends []*pb.DBEnchantRank
err error
) )
if errdata = this.RankListCheck(session, req); errdata != nil { if errdata = this.RankListCheck(session, req); errdata != nil {
@ -41,16 +42,22 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList
} }
return return
} }
players = make([]*pb.DBEnchantRank, len(ranks)) ranksmap = make(map[string]*pb.DBEnchant)
for i, v := range ranks { for _, v := range ranks {
players[i] = &pb.DBEnchantRank{ ranksmap[v.Uid] = v
Id: v.Uid, }
Uinfo: v.Uinfo, players = make([]*pb.DBEnchantRank, 0, len(uids))
Score: v.Boss[req.BoosType].Score, for _, v := range uids {
Grade: v.Boss[req.BoosType].Grade, if player, ok := ranksmap[v]; ok {
Gradegroup: v.Boss[req.BoosType].Gradegroup, players = append(players, &pb.DBEnchantRank{
Battletime: v.Boss[req.BoosType].Battletime, Id: player.Uid,
Line: v.Boss[req.BoosType].Line, Uinfo: player.Uinfo,
Score: player.Boss[req.BoosType].Score,
Grade: player.Boss[req.BoosType].Grade,
Gradegroup: player.Boss[req.BoosType].Gradegroup,
Battletime: player.Boss[req.BoosType].Battletime,
Line: player.Boss[req.BoosType].Line,
})
} }
} }
// 获取好友 // 获取好友

View File

@ -14,8 +14,9 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.IntegralRa
// /排行榜获取 // /排行榜获取
func (this *apiComp) RankList(session comm.IUserSession, req *pb.IntegralRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) RankList(session comm.IUserSession, req *pb.IntegralRankListReq) (errdata *pb.ErrorData) {
var ( var (
uids []string uids []string
ranks []*pb.DBIntegralBoss ranks []*pb.DBIntegralBoss
ranksmap map[string]*pb.DBIntegralBoss
// franks []*pb.DBIntegralBoss // franks []*pb.DBIntegralBoss
players []*pb.DBIntegralRank players []*pb.DBIntegralRank
err error err error
@ -42,16 +43,23 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.IntegralRankLis
} }
return return
} }
players = make([]*pb.DBIntegralRank, len(ranks)) ranksmap = make(map[string]*pb.DBIntegralBoss)
for i, v := range ranks { for _, v := range ranks {
players[i] = &pb.DBIntegralRank{ ranksmap[v.Uid] = v
Id: v.Uid, }
Uinfo: v.Uinfo, players = make([]*pb.DBIntegralRank, 0, len(uids))
Nandu: v.Nandu, for _, v := range uids {
Score: v.Score[req.Nandu], if player, ok := ranksmap[v]; ok {
Line: v.Line[req.Nandu], players = append(players, &pb.DBIntegralRank{
Buff: v.Carrybuff[req.Nandu].Buff, Id: player.Uid,
Uinfo: player.Uinfo,
Nandu: player.Nandu,
Score: player.Score[req.Nandu],
Line: player.Line[req.Nandu],
Buff: player.Carrybuff[req.Nandu].Buff,
})
} }
} }
// // 获取好友 // // 获取好友
// fids := this.module.ModuleFriend.GetFriendList(session.GetUserId()) // fids := this.module.ModuleFriend.GetFriendList(session.GetUserId())

View File

@ -14,10 +14,11 @@ func (this *apiComp) CrossCycleRankListCheck(session comm.IUserSession, req *pb.
// 循环塔榜 // 循环塔榜
func (this *apiComp) CrossCycleRankList(session comm.IUserSession, req *pb.PagodaCrossCycleRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) CrossCycleRankList(session comm.IUserSession, req *pb.PagodaCrossCycleRankListReq) (errdata *pb.ErrorData) {
var ( var (
uids []string uids []string
err error err error
result []*pb.DBCyclePagodaRecord result []*pb.DBCyclePagodaRecord
ranks []*pb.DBCycleRank resultMap map[string]*pb.DBCyclePagodaRecord
ranks []*pb.DBCycleRank
) )
if errdata = this.CrossCycleRankListCheck(session, req); errdata != nil { if errdata = this.CrossCycleRankListCheck(session, req); errdata != nil {
@ -40,13 +41,20 @@ func (this *apiComp) CrossCycleRankList(session comm.IUserSession, req *pb.Pagod
} }
return return
} }
resultMap = make(map[string]*pb.DBCyclePagodaRecord)
for _, v := range result { for _, v := range result {
ranks = append(ranks, &pb.DBCycleRank{ resultMap[v.Uid] = v
Uinfo: v.Uinfo, }
Line: v.Data[v.Maxfloor].Line, ranks = make([]*pb.DBCycleRank, 0, len(uids))
Floor: v.Maxfloor, for _, v := range uids {
Costtime: v.Data[v.Maxfloor].Consttime, if player, ok := resultMap[v]; ok {
}) ranks = append(ranks, &pb.DBCycleRank{
Uinfo: player.Uinfo,
Line: player.Data[player.Maxfloor].Line,
Floor: player.Maxfloor,
Costtime: player.Data[player.Maxfloor].Consttime,
})
}
} }
session.SendMsg(string(this.module.GetType()), "crosscycleranklist", &pb.PagodaCrossCycleRankListResp{ session.SendMsg(string(this.module.GetType()), "crosscycleranklist", &pb.PagodaCrossCycleRankListResp{
Ranks: ranks, Ranks: ranks,

View File

@ -14,10 +14,11 @@ func (this *apiComp) CrossRaceRankListCheck(session comm.IUserSession, req *pb.P
// 六合塔榜 // 六合塔榜
func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) {
var ( var (
uids []string uids []string
err error err error
result []*pb.DBRacePagodaRecord result []*pb.DBRacePagodaRecord
ranks []*pb.DBRaceRank resultMap map[string]*pb.DBRacePagodaRecord
ranks []*pb.DBRaceRank
) )
if errdata = this.CrossRaceRankListCheck(session, req); errdata != nil { if errdata = this.CrossRaceRankListCheck(session, req); errdata != nil {
@ -40,13 +41,21 @@ func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.Pagoda
} }
return return
} }
resultMap = make(map[string]*pb.DBRacePagodaRecord)
for _, v := range result { for _, v := range result {
ranks = append(ranks, &pb.DBRaceRank{ resultMap[v.Uid] = v
Uinfo: v.Uinfo, }
Line: v.Data[v.Maxfloor].Line, ranks = make([]*pb.DBRaceRank, 0, len(uids))
Floor: v.Maxfloor, for _, v := range uids {
Costtime: v.Data[v.Maxfloor].Consttime, if player, ok := resultMap[v]; ok {
}) ranks = append(ranks, &pb.DBRaceRank{
Uinfo: player.Uinfo,
Line: player.Data[player.Maxfloor].Line,
Floor: player.Maxfloor,
Costtime: player.Data[player.Maxfloor].Consttime,
})
}
} }
session.SendMsg(string(this.module.GetType()), PagodaCrossRaceRankListReq, &pb.PagodaCrossRaceRankListResp{ session.SendMsg(string(this.module.GetType()), PagodaCrossRaceRankListReq, &pb.PagodaCrossRaceRankListResp{
Ranks: ranks, Ranks: ranks,