go_dreamfactory/modules/pagoda/api_racerank.go
2024-01-15 18:34:33 +08:00

56 lines
1.3 KiB
Go

package pagoda
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) CrossRaceRankListCheck(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) {
return
}
// 六合塔榜
func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) {
var (
uids []string
err error
result []*pb.DBRacePagodaRecord
ranks []*pb.DBRaceRank
)
if errdata = this.CrossRaceRankListCheck(session, req); errdata != nil {
return
}
if uids, err = this.module.modelRacePagoda.queryRankUser(); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if result, err = this.module.modelRacePagoda.queryPlayers(uids); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
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,
})
}
session.SendMsg(string(this.module.GetType()), PagodaCrossRaceRankListReq, &pb.PagodaCrossRaceRankListResp{
Ranks: ranks,
})
return
}