package parkour import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (errdata *pb.ErrorData) { if session.GetUserId() != req.Captainid { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } ///匹配请求 func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (errdata *pb.ErrorData) { var ( info *pb.DBParkour err error ) if errdata = this.RaceMatchCheck(session, req); errdata != nil { return } if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } info.Captainid = session.GetUserId() info.State = pb.RaceTeamState_teaming info.Member = []*pb.DBRaceMember{ { User: info.User, Dan: info.Dan, Mount: info.Mount, Property: info.Property, Currhp: info.Property[comm.Dhp], }, } if err = this.module.parkourComp.Change(info.Captainid, map[string]interface{}{ "state": info.State, "captainid": info.Captainid, "member": info.Member, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if err = this.module.match.MatchReq(&pb.DBMatchPlayer{ Suser: info.User, Dan: info.Dan, Mount: info.Mount, Property: info.Property, Mlv: info.Mlv, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ "state": pb.RaceTeamState_matching, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{}) return }