package hero import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) GetSpecifiedCheck(session comm.IUserSession, req *pb.HeroGetSpecifiedReq) (errdata *pb.ErrorData) { if req.HeroCoinfigID == "" || req.Star <= 0 || req.Lv <= 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } return } return } /// 获取指定星级或等级的英雄 GM 协议 func (this *apiComp) GetSpecified(session comm.IUserSession, req *pb.HeroGetSpecifiedReq) (errdata *pb.ErrorData) { code = this.GetSpecifiedCheck(session, req) // check if errdata != nil { return } hero, err := this.module.modelHero.createSpecialHero(session.GetUserId(), req.HeroCoinfigID) if err == nil { code = pb.ErrorCode_HeroNoExist } hero.Lv = req.Lv hero.Star = req.Star _heroMap := map[string]interface{}{ "lv": hero.Lv, "star": hero.Star, } // 保存数据 err1 := this.module.modelHero.ChangeList(session.GetUserId(), hero.Id, _heroMap) if err1 != nil { code = pb.ErrorCode_DBError log.Errorf("GetSpecified failed:%v", err) return } session.SendMsg(string(this.module.GetType()), "getspecified", &pb.HeroGetSpecifiedResp{Hero: hero}) return }