go_dreamfactory/modules/pagoda/api_cyclerank.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) CrossCycleRankListCheck(session comm.IUserSession, req *pb.PagodaCrossCycleRankListReq) (errdata *pb.ErrorData) {
return
}
// 循环塔榜
func (this *apiComp) CrossCycleRankList(session comm.IUserSession, req *pb.PagodaCrossCycleRankListReq) (errdata *pb.ErrorData) {
var (
uids []string
err error
result []*pb.DBCyclePagodaRecord
ranks []*pb.DBCycleRank
)
if errdata = this.CrossCycleRankListCheck(session, req); errdata != nil {
return
}
if uids, err = this.module.modelCyclePagoda.queryRankUser(); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if result, err = this.module.modelCyclePagoda.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.DBCycleRank{
Uinfo: v.Uinfo,
Line: v.Data[v.Maxfloor].Line,
Floor: v.Maxfloor,
Costtime: v.Data[v.Maxfloor].Consttime,
})
}
session.SendMsg(string(this.module.GetType()), "crosscycleranklist", &pb.PagodaCrossCycleRankListResp{
Ranks: ranks,
})
return
}