package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.EnchantRankListReq) (errdata *pb.ErrorData) { return } 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 ) if errdata = this.RankListCheck(session, req); errdata != nil { return } if uids, err = this.module.modelRank.queryRankUser(req.BoosType); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if ranks, err = this.module.modelEnchant.queryPlayers(uids); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } 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, } } // 获取好友 fids := this.module.ModuleFriend.GetFriendList(session.GetUserId()) if franks, err = this.module.modelEnchant.queryPlayers(fids); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } friends = make([]*pb.DBEnchantRank, len(franks)) for i, v := range franks { friends[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, Line: v.Boss[req.BoosType].Line, } } session.SendMsg(string(this.module.GetType()), "ranklist", &pb.EnchantRankListResp{ Ranks: players, Friends: friends, }) return }