上传排行版逻辑修复

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) {
var (
uids []string
ranks []*pb.DBEnchant
franks []*pb.DBEnchant
players []*pb.DBEnchantRank
friends []*pb.DBEnchantRank
err error
uids []string
ranks []*pb.DBEnchant
ranksmap map[string]*pb.DBEnchant
franks []*pb.DBEnchant
players []*pb.DBEnchantRank
friends []*pb.DBEnchantRank
err error
)
if errdata = this.RankListCheck(session, req); errdata != nil {
@ -41,16 +42,22 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList
}
return
}
players = make([]*pb.DBEnchantRank, len(ranks))
for i, v := range ranks {
players[i] = &pb.DBEnchantRank{
Id: v.Uid,
Uinfo: v.Uinfo,
Score: v.Boss[req.BoosType].Score,
Grade: v.Boss[req.BoosType].Grade,
Gradegroup: v.Boss[req.BoosType].Gradegroup,
Battletime: v.Boss[req.BoosType].Battletime,
Line: v.Boss[req.BoosType].Line,
ranksmap = make(map[string]*pb.DBEnchant)
for _, v := range ranks {
ranksmap[v.Uid] = v
}
players = make([]*pb.DBEnchantRank, 0, len(uids))
for _, v := range uids {
if player, ok := ranksmap[v]; ok {
players = append(players, &pb.DBEnchantRank{
Id: player.Uid,
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) {
var (
uids []string
ranks []*pb.DBIntegralBoss
uids []string
ranks []*pb.DBIntegralBoss
ranksmap map[string]*pb.DBIntegralBoss
// franks []*pb.DBIntegralBoss
players []*pb.DBIntegralRank
err error
@ -42,16 +43,23 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.IntegralRankLis
}
return
}
players = make([]*pb.DBIntegralRank, len(ranks))
for i, v := range ranks {
players[i] = &pb.DBIntegralRank{
Id: v.Uid,
Uinfo: v.Uinfo,
Nandu: v.Nandu,
Score: v.Score[req.Nandu],
Line: v.Line[req.Nandu],
Buff: v.Carrybuff[req.Nandu].Buff,
ranksmap = make(map[string]*pb.DBIntegralBoss)
for _, v := range ranks {
ranksmap[v.Uid] = v
}
players = make([]*pb.DBIntegralRank, 0, len(uids))
for _, v := range uids {
if player, ok := ranksmap[v]; ok {
players = append(players, &pb.DBIntegralRank{
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())

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) {
var (
uids []string
err error
result []*pb.DBCyclePagodaRecord
ranks []*pb.DBCycleRank
uids []string
err error
result []*pb.DBCyclePagodaRecord
resultMap map[string]*pb.DBCyclePagodaRecord
ranks []*pb.DBCycleRank
)
if errdata = this.CrossCycleRankListCheck(session, req); errdata != nil {
@ -40,13 +41,20 @@ func (this *apiComp) CrossCycleRankList(session comm.IUserSession, req *pb.Pagod
}
return
}
resultMap = make(map[string]*pb.DBCyclePagodaRecord)
for _, v := range result {
ranks = append(ranks, &pb.DBCycleRank{
Uinfo: v.Uinfo,
Line: v.Data[v.Maxfloor].Line,
Floor: v.Maxfloor,
Costtime: v.Data[v.Maxfloor].Consttime,
})
resultMap[v.Uid] = v
}
ranks = make([]*pb.DBCycleRank, 0, len(uids))
for _, v := range uids {
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{
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) {
var (
uids []string
err error
result []*pb.DBRacePagodaRecord
ranks []*pb.DBRaceRank
uids []string
err error
result []*pb.DBRacePagodaRecord
resultMap map[string]*pb.DBRacePagodaRecord
ranks []*pb.DBRaceRank
)
if errdata = this.CrossRaceRankListCheck(session, req); errdata != nil {
@ -40,13 +41,21 @@ func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.Pagoda
}
return
}
resultMap = make(map[string]*pb.DBRacePagodaRecord)
for _, v := range result {
ranks = append(ranks, &pb.DBRaceRank{
Uinfo: v.Uinfo,
Line: v.Data[v.Maxfloor].Line,
Floor: v.Maxfloor,
Costtime: v.Data[v.Maxfloor].Consttime,
})
resultMap[v.Uid] = v
}
ranks = make([]*pb.DBRaceRank, 0, len(uids))
for _, v := range uids {
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{
Ranks: ranks,