package hero import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" "google.golang.org/protobuf/proto" ) //参数校验 func (this *apiComp) GetSpecifiedCheck(session comm.IUserSession, req *pb.HeroGetSpecifiedReq) (code pb.ErrorCode) { if req.HeroCoinfigID == "" || req.Star > 6 || req.Lv > 6*comm.HeroStarLvRatio { code = pb.ErrorCode_ReqParameterError return } return } /// 获取指定星级或等级的英雄 GM 协议 func (this *apiComp) GetSpecified(session comm.IUserSession, req *pb.HeroGetSpecifiedReq) (code pb.ErrorCode, data proto.Message) { code = this.GetSpecifiedCheck(session, req) // check if code != pb.ErrorCode_Success { return } hero, err := this.module.modelHero.createOneHero(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, "isOverlying": false, } // 保存数据 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 }