package hero import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) LockCheck(session comm.IUserSession, req *pb.HeroLockReq) (errdata *pb.ErrorData) { if req.Heroid == "" { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } /// 英雄锁定 func (this *apiComp) Lock(session comm.IUserSession, req *pb.HeroLockReq) (errdata *pb.ErrorData) { var ( _hero *pb.DBHero ) if errdata = this.LockCheck(session, req); errdata != nil { return } if _hero, errdata = this.module.GetHeroByObjID(session.GetUserId(), req.Heroid); errdata != nil { return } _hero.Block = !_hero.Block // 修改是否锁定状态 // 保存数据 if err := this.module.modelHero.ChangeList(session.GetUserId(), _hero.Id, map[string]interface{}{ "block": _hero.Block, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } log.Errorf("update hero skill failed:%v", err) return } session.SendMsg(string(this.module.GetType()), HeroLock, &pb.HeroAwakenResp{Hero: _hero}) return }