package gameinvite import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) // 切磋终止 func (this *apiComp) RefuseCheck(session comm.IUserSession, req *pb.GameInviteRefuseReq) (errdata *pb.ErrorData) { return } //拒绝切磋 func (this *apiComp) Refuse(session comm.IUserSession, req *pb.GameInviteRefuseReq) (errdata *pb.ErrorData) { if errdata = this.RefuseCheck(session, req); errdata != nil { return } var ( err error user *pb.DBUser info *pb.GameInviteQiecuoRecord gamedata *pb.GameInviteData ok bool keep bool ) if user, err = this.module.ModuleUser.GetUser(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } //切磋请求处理 if info, err = this.module.model.queryQiecuo(req.Uid); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } keep = false if gamedata, ok = info.Invite[req.Gtype]; ok { for i, v := range gamedata.Targets { if v.Uid == session.GetUserId() { gamedata.Targets = append(gamedata.Targets[0:i], gamedata.Targets[i+1:]...) keep = true } } } if !keep { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } return } this.module.model.Change(session.GetUserId(), map[string]interface{}{ "invite": info.Invite, }) session.SendMsg(string(this.module.GetType()), "refuse", &pb.GameInviteRefuseResp{IsSucc: true}) this.module.SendMsgToUser(string(this.module.GetType()), "qiecuonotify", &pb.GameInviteQiecuonotifyPush{User: comm.GetUserBaseInfo(user), NotifyType: 3, Gtype: req.Gtype}, req.Uid) return }