diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go index 8de6c4e8e..3d83b3239 100644 --- a/modules/pagoda/api_challengeover.go +++ b/modules/pagoda/api_challengeover.go @@ -4,10 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/sys/db" - "strconv" - - "go.mongodb.org/mongo-driver/bson/primitive" ) // 参数校验 @@ -33,6 +29,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal atno []*pb.UserAtno // 通关奖励 award []*cfg.Gameatn changExp map[string]int32 + costTime int32 // 耗时 ) changExp = make(map[string]int32, 0) mapData = make(map[string]interface{}, 0) @@ -100,6 +97,44 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal } return } + costTime = req.Report.Costtime + var score int32 + score = 10000*conf.Key + (10000 - costTime) + szLine := make([]*pb.LineUp, 0) + var Leadpos int32 + if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { + Leadpos = req.Report.Info.Redflist[0].Leadpos + for _, v := range req.Report.Info.Redflist[0].Team { + if v != nil { + szLine = append(szLine, &pb.LineUp{ + Cid: v.HeroID, + Star: v.Star, + Lv: v.Lv, + }) + } + } + } + + // 校验是否刷新记录 + record := this.module.modulerank.getcrossPagodaRankList(session.GetUserId()) + this.module.modulerank.SetPagodaRankList(conf.Key, score, session.GetUserId()) + if _, ok := record.Data[conf.Key]; !ok { + record.Data[conf.Key] = &pb.PagodaData{ + Consttime: costTime, + Line: &pb.LineData{}, + } + } + record.Data[conf.Key].Line = &pb.LineData{ + Leadpos: Leadpos, + Line: szLine, + } + mapData["data"] = record.Data + if user, err := this.module.ModuleUser.GetUser(session.GetUserId()); err == nil { + mapData["uinfo"] = comm.GetUserBaseInfo(user) + } + + this.module.modulerank.ModifyCrossPagodaCycleData(session.GetUserId(), mapData) + // 加经验 if conf.Exp > 0 { var heroObjs []string @@ -114,7 +149,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal return } } - + costTime = req.Report.Costtime pagoda.Data[conf.Tab] += 1 pagoda.PagodaId = conf.Key mapData["pagodaId"] = pagoda.PagodaId @@ -158,47 +193,5 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal Heroexp: changExp, }) - go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { - // 记录爬塔明细数据 - if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { - leadpos := req.Report.Info.Redflist[0].Leadpos - szLine := make([]*pb.LineUp, 0) - for _, v := range req.Report.Info.Redflist[0].Team { - if v.Oid != "" { - szLine = append(szLine, &pb.LineUp{ - Cid: v.HeroID, - Star: v.Star, - Lv: v.Lv, - }) - } - } - newData := &pb.DBPagodaRecord{ - Id: primitive.NewObjectID().Hex(), - Uid: session.GetUserId(), - PagodaId: pagoda.PagodaId, - Type: pagoda.Type, - Nickname: user.Name, - Icon: user.CurSkin, - Lv: user.Lv, - Leadpos: leadpos, - Line: szLine, - CostTime: req.Report.Costtime, - Tab: conf.Tab, - } - - // 数据写到跨服中 - if conn_, err := db.Cross(); err == nil { - dbModel := db.NewDBModel(db.CrossTag(), comm.TablePagodaRecord, conn_) - dbModel.AddList(session.GetUserId(), newData.Id, newData) - } else { - this.module.Errorf("db crosserr :%v", err) - } - this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), pagoda.PagodaId, newData.Id) - } - this.chat.SendSysChatToWorld(session, comm.ChatSystem4, nil, pagoda.PagodaId, 0, user.Name) - // this.module.ModuleSys.CheckOpenCond(session, comm.OpencondTypePagoda, conf.Key) - this.module.ModuleBuried.TriggerBuried(session, comm.GetBuriedParam(comm.Rtype168, pagoda.Data[conf.Tab], conf.Tab)) - this.module.WriteUserLog(session.GetUserId(), req, comm.GMResAddType, "PagodaChallengeOverReq", conf.Reward) - }) return } diff --git a/modules/pagoda/api_cyclechallengeover.go b/modules/pagoda/api_cyclechallengeover.go index 53a1a652f..5860feffd 100644 --- a/modules/pagoda/api_cyclechallengeover.go +++ b/modules/pagoda/api_cyclechallengeover.go @@ -4,6 +4,8 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" + + "go.mongodb.org/mongo-driver/bson/primitive" ) // 参数校验 @@ -116,7 +118,22 @@ func (this *apiComp) ChallengeCycleOver(session comm.IUserSession, req *pb.Pagod } if new { if conf.Floors == 1 { // 写数据 - this.module.modelCyclePagoda.addCrossPagodaCycle(session.GetUserId(), list) + db := &pb.DBCyclePagodaRecord{ + Id: primitive.NewObjectID().Hex(), + Uid: session.GetUserId(), + Uinfo: &pb.BaseUserInfo{}, + Data: map[int32]*pb.CycleData{}, + Maxfloor: 1, + } + user, err := this.module.ModuleUser.GetUser(session.GetUserId()) + if err == nil { + db.Uinfo = comm.GetUserBaseInfo(user) + } + db.Data[conf.Floors].Line = &pb.LineData{ + Leadpos: Leadpos, + Line: szLine, + } + this.module.modelCyclePagoda.addCrossPagodaCycle(session.GetUserId(), db) } res = append(res, conf.KeyReward...) // 首通奖励 } diff --git a/modules/pagoda/api_queryrecord.go b/modules/pagoda/api_queryrecord.go index 7a15b53b3..e9097aba9 100644 --- a/modules/pagoda/api_queryrecord.go +++ b/modules/pagoda/api_queryrecord.go @@ -15,9 +15,8 @@ func (this *apiComp) QueryRecord(session comm.IUserSession, req *pb.PagodaQueryR record *pb.DBPagodaRecord ) - if list, err := this.module.modelPagoda.getPagodaList(session.GetUserId()); err == nil { - record = this.module.modulerank.getPagodaRankListByFloorid(session.GetUserId(), list.PagodaId) - } + record = this.module.modulerank.getcrossPagodaRankList(session.GetUserId()) + session.SendMsg(string(this.module.GetType()), PagodaQueryRecordResp, &pb.PagodaQueryRecordResp{Data: record}) return } diff --git a/modules/pagoda/api_ranklist.go b/modules/pagoda/api_ranklist.go index cbc568d9d..b798eafe9 100644 --- a/modules/pagoda/api_ranklist.go +++ b/modules/pagoda/api_ranklist.go @@ -1,13 +1,8 @@ package pagoda import ( - "context" "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" - "strconv" - - "github.com/go-redis/redis/v8" ) //参数校验 @@ -24,46 +19,55 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.PagodaRank func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListReq) (errdata *pb.ErrorData) { var ( - szRank []*pb.DBPagodaRecord - rd *redis.StringSliceCmd + szRank []*pb.PagodaRank ) if errdata = this.RankListCheck(session, req); errdata != nil { return } - if !req.Friend { - if this.module.IsCross() { - //if conn, err := db.Cross(); err == nil { - var ( - pipe *pipe.RedisPipe = this.module.modelPagoda.Redis.RedisPipe(context.TODO()) - ) - req.Cid = 11 - rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.Cid)), 0, comm.MaxRankList) - if _, err := pipe.Exec(); err != nil { - this.module.Errorln(err) - return - } - _dataList := rd.Val() - for _, v := range _dataList { - //conn_, err := db.Cross() - //dbModel := db.NewDBModel(comm.TablePagodaRecord, 0, conn) - result := &pb.DBPagodaRecord{} - if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { - szRank = append(szRank, result) - } - } - //} + var ( + uids []string + err error + result []*pb.DBPagodaRecord + resultMap map[string]*pb.DBPagodaRecord + ) + + if uids, err = this.module.modulerank.queryRankUser(req.Cid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), } - } else { - uids := this.module.friend.GetFriendList(session.GetUserId()) - for _, id := range uids { - rankData := this.module.modulerank.getPagodaRankListByFloorid(id, req.Cid) - if rankData != nil { - szRank = append(szRank, rankData) - } + return + } + if result, err = this.module.modulerank.queryPlayers(uids); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + resultMap = make(map[string]*pb.DBPagodaRecord) + for _, v := range result { + resultMap[v.Uid] = v + } + szRank = make([]*pb.PagodaRank, 0, len(uids)) + for _, v := range uids { + if player, ok := resultMap[v]; ok { + + szRank = append(szRank, &pb.PagodaRank{ + Uinfo: player.Uinfo, + Line: player.Data[req.Cid].Line, + Floor: req.Cid, + Costtime: player.Data[req.Cid].Consttime, + }) } } - session.SendMsg(string(this.module.GetType()), PagodaRankListResp, &pb.PagodaRankListResp{Ranks: szRank}) + session.SendMsg(string(this.module.GetType()), PagodaRankListResp, &pb.PagodaRankListResp{ + Ranks: szRank, + Franks: []*pb.PagodaRank{}, + }) return } diff --git a/modules/pagoda/model_cycle.go b/modules/pagoda/model_cycle.go index a81507c10..0d8845b88 100644 --- a/modules/pagoda/model_cycle.go +++ b/modules/pagoda/model_cycle.go @@ -204,7 +204,7 @@ func (this *ModelCycle) ModifyCrossPagodaCycleData(uid string, data map[string]i } // 创建一个新的塔数据 -func (this *ModelCycle) addCrossPagodaCycle(uId string, result *pb.DBPagodaCycle) (err error) { +func (this *ModelCycle) addCrossPagodaCycle(uId string, result *pb.DBCyclePagodaRecord) (err error) { var ( model *db.DBModel ) diff --git a/modules/pagoda/model_rank.go b/modules/pagoda/model_rank.go index b8041ff12..d5fb488be 100644 --- a/modules/pagoda/model_rank.go +++ b/modules/pagoda/model_rank.go @@ -1,8 +1,12 @@ package pagoda import ( + "context" + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/mgo" + "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/sys/db" //"go_dreamfactory/lego/sys/redis" @@ -10,21 +14,21 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" + "github.com/go-redis/redis/v8" + "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/x/bsonx" ) -var floorRankKey = "pagoda:floor" - type ModelRank struct { modules.MCompModel - modulePagoda *Pagoda + module *Pagoda } func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.TableName = comm.TablePagodaRecord err = this.MCompModel.Init(service, module, comp, options) - this.modulePagoda = module.(*Pagoda) + this.module = module.(*Pagoda) //创建uid索引 this.DB.CreateIndex(core.SqlTable(comm.TablePagodaRecord), mongo.IndexModel{ @@ -33,27 +37,128 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor return } -func (this *ModelRank) getPagodaRankListByFloorid(uid string, cid int32) *pb.DBPagodaRecord { - pagodaRank := make([]*pb.DBPagodaRecord, 0) +func (this *ModelRank) getcrossPagodaRankList(uid string) *pb.DBPagodaRecord { + record := &pb.DBPagodaRecord{} if db.IsCross() { - if err := this.GetList(uid, &pagodaRank); err != nil { - return nil + if err := this.Get(uid, record); err == mgo.MongodbNil { + result := &pb.DBPagodaRecord{ + Data: make(map[int32]*pb.PagodaData), + } + result.Id = primitive.NewObjectID().Hex() + result.Uid = uid + if err = this.Add(uid, result); err != nil { + this.module.Errorf("err:%v", err) + } } } else { if conn, err := db.Cross(); err == nil { dbModel := db.NewDBModel(db.CrossTag(), comm.TablePagodaRecord, conn) - if err = dbModel.GetList(uid, &pagodaRank); err != nil { - return nil + if err = dbModel.Get(uid, record); err == mgo.MongodbNil { + result := &pb.DBPagodaRecord{ + Data: make(map[int32]*pb.PagodaData), + } + result.Id = primitive.NewObjectID().Hex() + result.Uid = uid + if err = dbModel.Add(uid, result); err != nil { + this.module.Errorf("err:%v", err) + } } } } - for _, v := range pagodaRank { - if conf, err := this.modulePagoda.configure.GetPagodaConfigData(cid); err == nil { - if v.Tab == conf.Tab { - return v - } - } + return record +} + +// 创建一个新的塔数据 +func (this *ModelRank) addCrossPagodaRace(uId string, result *pb.DBPagodaRecord) (err error) { + var ( + model *db.DBModel + ) + if model, err = this.module.GetCrossDBModel(this.TableName); err != nil { + return } + result.Id = primitive.NewObjectID().Hex() + result.Uid = uId + if err = model.Add(uId, result); err != nil { + this.module.Errorf("err:%v", err) + return + } return nil } + +// 获取排行榜前50的用户名单 (跨服) +func (this *ModelRank) queryRankUser(key int32) (ranks []string, err error) { + var ( + result []string + model *db.DBModel + ) + if model, err = this.module.GetCrossDBModel(this.TableName); err != nil { + return + } + + tableName := fmt.Sprintf("%s-%s-%d", db.CrossTag(), this.TableName, key) + if result, err = model.Redis.ZRevRange(tableName, 0, comm.MaxRankNum).Result(); err != nil { + //this.module.Errorln(err) + return + } + ranks = make([]string, 0) + for i := 0; i < len(result); i += 1 { + ranks = append(ranks, result[i]) + } + return +} + +func (this *ModelRank) queryPlayers(uIds []string) (result []*pb.DBPagodaRecord, err error) { + var ( + model *db.DBModel + ) + if model, err = this.module.GetCrossDBModel(this.TableName); err != nil { + return + } + result = make([]*pb.DBPagodaRecord, 0) + if _, err = model.GetByUids(uIds, &result); err != nil && err != mgo.MongodbNil { + //this.module.Errorln(err) + return + } + return +} + +func (this *ModelRank) SetPagodaRankList(key int32, score int32, uid string) { + + var ( + pipe *pipe.RedisPipe + menbers *redis.Z + model *db.DBModel + err error + ) + + if model, err = this.module.GetCrossDBModel(this.TableName); err != nil { + return + } + tableName := fmt.Sprintf("%s-%s-%d", db.CrossTag(), this.TableName, key) + pipe = model.Redis.RedisPipe(context.TODO()) + menbers = &redis.Z{Score: float64(score), Member: uid} + + if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { + + dock, err1 := cmd.Result() + if err1 != nil { + this.module.Errorln(dock, err1) + } + } + if _, err := pipe.Exec(); err != nil { + this.module.Errorln(err) + return + } +} + +func (this *ModelRank) ModifyCrossPagodaCycleData(uid string, data map[string]interface{}) error { + var ( + model *db.DBModel + err error + ) + if model, err = this.module.GetCrossDBModel(this.TableName); err != nil { + return err + } + return model.Change(uid, data) +} diff --git a/modules/pagoda/module.go b/modules/pagoda/module.go index 5bcc322f5..441f015d5 100644 --- a/modules/pagoda/module.go +++ b/modules/pagoda/module.go @@ -122,11 +122,7 @@ func (this *Pagoda) ModifyPagodaFloor(session comm.IUserSession, d1 int32, d2 in // 查询玩家 func (this *Pagoda) CheckUserBasePagodaInfo(uid string) (data *pb.DBPagodaRecord) { - - list, _ := this.modelPagoda.getPagodaList(uid) - if list != nil { // redis没有数据 - data = this.modulerank.getPagodaRankListByFloorid(uid, list.PagodaId) - } + data = this.modulerank.getcrossPagodaRankList(uid) return } diff --git a/pb/pagoda_db.pb.go b/pb/pagoda_db.pb.go index f05d39860..379df01fb 100644 --- a/pb/pagoda_db.pb.go +++ b/pb/pagoda_db.pb.go @@ -121,17 +121,10 @@ type DBPagodaRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID - PagodaId int32 `protobuf:"varint,3,opt,name=pagodaId,proto3" json:"pagodaId" bson:"pagodaId"` //塔层 - Type int32 `protobuf:"varint,4,opt,name=type,proto3" json:"type"` // 塔类型 - Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称 - Icon string `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon"` // 头像 - Lv int32 `protobuf:"varint,7,opt,name=lv,proto3" json:"lv"` // 等级 - Leadpos int32 `protobuf:"varint,8,opt,name=leadpos,proto3" json:"leadpos"` //队长位置 - Line []*LineUp `protobuf:"bytes,9,rep,name=line,proto3" json:"line"` // 阵容数据 - CostTime int32 `protobuf:"varint,10,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //闯关耗时 单位s - Tab int32 `protobuf:"varint,11,opt,name=tab,proto3" json:"tab"` // 页签 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Data map[int32]*PagodaData `protobuf:"bytes,4,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key boss 类型 } func (x *DBPagodaRecord) Reset() { @@ -180,69 +173,146 @@ func (x *DBPagodaRecord) GetUid() string { return "" } -func (x *DBPagodaRecord) GetPagodaId() int32 { +func (x *DBPagodaRecord) GetUinfo() *BaseUserInfo { if x != nil { - return x.PagodaId + return x.Uinfo } - return 0 + return nil } -func (x *DBPagodaRecord) GetType() int32 { +func (x *DBPagodaRecord) GetData() map[int32]*PagodaData { if x != nil { - return x.Type + return x.Data } - return 0 + return nil } -func (x *DBPagodaRecord) GetNickname() string { - if x != nil { - return x.Nickname - } - return "" +type PagodaRank struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uinfo *BaseUserInfo `protobuf:"bytes,21,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Line *LineData `protobuf:"bytes,2,opt,name=line,proto3" json:"line"` // 阵容信息 + Floor int32 `protobuf:"varint,3,opt,name=floor,proto3" json:"floor"` // 层 + Costtime int32 `protobuf:"varint,5,opt,name=costtime,proto3" json:"costtime"` // 耗时 } -func (x *DBPagodaRecord) GetIcon() string { - if x != nil { - return x.Icon +func (x *PagodaRank) Reset() { + *x = PagodaRank{} + if protoimpl.UnsafeEnabled { + mi := &file_pagoda_pagoda_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DBPagodaRecord) GetLv() int32 { - if x != nil { - return x.Lv - } - return 0 +func (x *PagodaRank) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DBPagodaRecord) GetLeadpos() int32 { - if x != nil { - return x.Leadpos +func (*PagodaRank) ProtoMessage() {} + +func (x *PagodaRank) ProtoReflect() protoreflect.Message { + mi := &file_pagoda_pagoda_db_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *DBPagodaRecord) GetLine() []*LineUp { +// Deprecated: Use PagodaRank.ProtoReflect.Descriptor instead. +func (*PagodaRank) Descriptor() ([]byte, []int) { + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{2} +} + +func (x *PagodaRank) GetUinfo() *BaseUserInfo { + if x != nil { + return x.Uinfo + } + return nil +} + +func (x *PagodaRank) GetLine() *LineData { if x != nil { return x.Line } return nil } -func (x *DBPagodaRecord) GetCostTime() int32 { +func (x *PagodaRank) GetFloor() int32 { if x != nil { - return x.CostTime + return x.Floor } return 0 } -func (x *DBPagodaRecord) GetTab() int32 { +func (x *PagodaRank) GetCosttime() int32 { if x != nil { - return x.Tab + return x.Costtime } return 0 } +type PagodaData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Consttime int32 `protobuf:"varint,1,opt,name=consttime,proto3" json:"consttime"` // 耗时 + Line *LineData `protobuf:"bytes,2,opt,name=line,proto3" json:"line"` // +} + +func (x *PagodaData) Reset() { + *x = PagodaData{} + if protoimpl.UnsafeEnabled { + mi := &file_pagoda_pagoda_db_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PagodaData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PagodaData) ProtoMessage() {} + +func (x *PagodaData) ProtoReflect() protoreflect.Message { + mi := &file_pagoda_pagoda_db_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PagodaData.ProtoReflect.Descriptor instead. +func (*PagodaData) Descriptor() ([]byte, []int) { + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{3} +} + +func (x *PagodaData) GetConsttime() int32 { + if x != nil { + return x.Consttime + } + return 0 +} + +func (x *PagodaData) GetLine() *LineData { + if x != nil { + return x.Line + } + return nil +} + // 爬塔数据明细 type DBRacePagodaRecord struct { state protoimpl.MessageState @@ -259,7 +329,7 @@ type DBRacePagodaRecord struct { func (x *DBRacePagodaRecord) Reset() { *x = DBRacePagodaRecord{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[2] + mi := &file_pagoda_pagoda_db_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -272,7 +342,7 @@ func (x *DBRacePagodaRecord) String() string { func (*DBRacePagodaRecord) ProtoMessage() {} func (x *DBRacePagodaRecord) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[2] + mi := &file_pagoda_pagoda_db_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -285,7 +355,7 @@ func (x *DBRacePagodaRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DBRacePagodaRecord.ProtoReflect.Descriptor instead. func (*DBRacePagodaRecord) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{2} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{4} } func (x *DBRacePagodaRecord) GetId() string { @@ -337,7 +407,7 @@ type DBRaceRank struct { func (x *DBRaceRank) Reset() { *x = DBRaceRank{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[3] + mi := &file_pagoda_pagoda_db_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -350,7 +420,7 @@ func (x *DBRaceRank) String() string { func (*DBRaceRank) ProtoMessage() {} func (x *DBRaceRank) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[3] + mi := &file_pagoda_pagoda_db_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -363,7 +433,7 @@ func (x *DBRaceRank) ProtoReflect() protoreflect.Message { // Deprecated: Use DBRaceRank.ProtoReflect.Descriptor instead. func (*DBRaceRank) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{3} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{5} } func (x *DBRaceRank) GetUinfo() *BaseUserInfo { @@ -407,7 +477,7 @@ type RaceData struct { func (x *RaceData) Reset() { *x = RaceData{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[4] + mi := &file_pagoda_pagoda_db_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -420,7 +490,7 @@ func (x *RaceData) String() string { func (*RaceData) ProtoMessage() {} func (x *RaceData) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[4] + mi := &file_pagoda_pagoda_db_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -433,7 +503,7 @@ func (x *RaceData) ProtoReflect() protoreflect.Message { // Deprecated: Use RaceData.ProtoReflect.Descriptor instead. func (*RaceData) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{4} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{6} } func (x *RaceData) GetConsttime() int32 { @@ -476,7 +546,7 @@ type DBPagodaRace struct { func (x *DBPagodaRace) Reset() { *x = DBPagodaRace{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[5] + mi := &file_pagoda_pagoda_db_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -489,7 +559,7 @@ func (x *DBPagodaRace) String() string { func (*DBPagodaRace) ProtoMessage() {} func (x *DBPagodaRace) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[5] + mi := &file_pagoda_pagoda_db_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -502,7 +572,7 @@ func (x *DBPagodaRace) ProtoReflect() protoreflect.Message { // Deprecated: Use DBPagodaRace.ProtoReflect.Descriptor instead. func (*DBPagodaRace) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{5} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{7} } func (x *DBPagodaRace) GetId() string { @@ -580,7 +650,7 @@ type DBPagodaCycle struct { func (x *DBPagodaCycle) Reset() { *x = DBPagodaCycle{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[6] + mi := &file_pagoda_pagoda_db_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -593,7 +663,7 @@ func (x *DBPagodaCycle) String() string { func (*DBPagodaCycle) ProtoMessage() {} func (x *DBPagodaCycle) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[6] + mi := &file_pagoda_pagoda_db_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -606,7 +676,7 @@ func (x *DBPagodaCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use DBPagodaCycle.ProtoReflect.Descriptor instead. func (*DBPagodaCycle) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{6} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{8} } func (x *DBPagodaCycle) GetId() string { @@ -681,7 +751,7 @@ type DBCyclePagodaRecord struct { func (x *DBCyclePagodaRecord) Reset() { *x = DBCyclePagodaRecord{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[7] + mi := &file_pagoda_pagoda_db_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -694,7 +764,7 @@ func (x *DBCyclePagodaRecord) String() string { func (*DBCyclePagodaRecord) ProtoMessage() {} func (x *DBCyclePagodaRecord) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[7] + mi := &file_pagoda_pagoda_db_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -707,7 +777,7 @@ func (x *DBCyclePagodaRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DBCyclePagodaRecord.ProtoReflect.Descriptor instead. func (*DBCyclePagodaRecord) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{7} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{9} } func (x *DBCyclePagodaRecord) GetId() string { @@ -757,7 +827,7 @@ type CycleData struct { func (x *CycleData) Reset() { *x = CycleData{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[8] + mi := &file_pagoda_pagoda_db_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -770,7 +840,7 @@ func (x *CycleData) String() string { func (*CycleData) ProtoMessage() {} func (x *CycleData) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[8] + mi := &file_pagoda_pagoda_db_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -783,7 +853,7 @@ func (x *CycleData) ProtoReflect() protoreflect.Message { // Deprecated: Use CycleData.ProtoReflect.Descriptor instead. func (*CycleData) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{8} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{10} } func (x *CycleData) GetConsttime() int32 { @@ -814,7 +884,7 @@ type DBCycleRank struct { func (x *DBCycleRank) Reset() { *x = DBCycleRank{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[9] + mi := &file_pagoda_pagoda_db_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -827,7 +897,7 @@ func (x *DBCycleRank) String() string { func (*DBCycleRank) ProtoMessage() {} func (x *DBCycleRank) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[9] + mi := &file_pagoda_pagoda_db_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -840,7 +910,7 @@ func (x *DBCycleRank) ProtoReflect() protoreflect.Message { // Deprecated: Use DBCycleRank.ProtoReflect.Descriptor instead. func (*DBCycleRank) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{9} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{11} } func (x *DBCycleRank) GetUinfo() *BaseUserInfo { @@ -884,7 +954,7 @@ type DBCycelData struct { func (x *DBCycelData) Reset() { *x = DBCycelData{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[10] + mi := &file_pagoda_pagoda_db_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -897,7 +967,7 @@ func (x *DBCycelData) String() string { func (*DBCycelData) ProtoMessage() {} func (x *DBCycelData) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[10] + mi := &file_pagoda_pagoda_db_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -910,7 +980,7 @@ func (x *DBCycelData) ProtoReflect() protoreflect.Message { // Deprecated: Use DBCycelData.ProtoReflect.Descriptor instead. func (*DBCycelData) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{10} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{12} } func (x *DBCycelData) GetId() string { @@ -961,130 +1031,139 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{ 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x02, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcc, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, - 0x6f, 0x64, 0x61, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x6f, 0x64, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, - 0x64, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, - 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x61, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x61, 0x62, 0x22, 0xee, - 0x01, 0x0a, 0x12, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x52, - 0x61, 0x63, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x1a, 0x42, 0x0a, 0x09, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x82, 0x01, 0x0a, 0x0a, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x23, - 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, - 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, - 0x74, 0x69, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, - 0x61, 0x72, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x22, 0x88, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, - 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, - 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x52, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x42, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2d, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, + 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x44, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x61, - 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x02, 0x0a, - 0x0d, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x43, - 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, - 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x50, - 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, - 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, - 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x61, + 0x67, 0x6f, 0x64, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, + 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x12, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x50, 0x61, + 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, + 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, + 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x1a, 0x42, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, + 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x0a, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, + 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x08, 0x52, 0x61, 0x63, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x88, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x50, 0x61, 0x67, + 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, - 0x6f, 0x72, 0x1a, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, + 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x50, + 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, + 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, + 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, + 0x66, 0x6f, 0x1a, 0x42, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, 0x0a, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x74, 0x69, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x22, 0x83, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, - 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, - 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x42, 0x43, 0x79, 0x63, - 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xa4, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x43, + 0x79, 0x63, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x50, + 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, + 0x61, 0x78, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x1a, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, 0x0a, 0x09, + 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x43, 0x79, 0x63, + 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x6f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0b, + 0x44, 0x42, 0x43, 0x79, 0x63, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1099,57 +1178,64 @@ func file_pagoda_pagoda_db_proto_rawDescGZIP() []byte { return file_pagoda_pagoda_db_proto_rawDescData } -var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_pagoda_pagoda_db_proto_goTypes = []interface{}{ (*DBPagoda)(nil), // 0: DBPagoda (*DBPagodaRecord)(nil), // 1: DBPagodaRecord - (*DBRacePagodaRecord)(nil), // 2: DBRacePagodaRecord - (*DBRaceRank)(nil), // 3: DBRaceRank - (*RaceData)(nil), // 4: RaceData - (*DBPagodaRace)(nil), // 5: DBPagodaRace - (*DBPagodaCycle)(nil), // 6: DBPagodaCycle - (*DBCyclePagodaRecord)(nil), // 7: DBCyclePagodaRecord - (*CycleData)(nil), // 8: CycleData - (*DBCycleRank)(nil), // 9: DBCycleRank - (*DBCycelData)(nil), // 10: DBCycelData - nil, // 11: DBPagoda.RewardEntry - nil, // 12: DBPagoda.DataEntry - nil, // 13: DBRacePagodaRecord.DataEntry - nil, // 14: DBPagodaRace.DataEntry - nil, // 15: DBPagodaRace.RewardEntry - nil, // 16: DBPagodaCycle.DataEntry - nil, // 17: DBCyclePagodaRecord.DataEntry - (*LineUp)(nil), // 18: LineUp - (*BaseUserInfo)(nil), // 19: BaseUserInfo - (*LineData)(nil), // 20: LineData + (*PagodaRank)(nil), // 2: PagodaRank + (*PagodaData)(nil), // 3: PagodaData + (*DBRacePagodaRecord)(nil), // 4: DBRacePagodaRecord + (*DBRaceRank)(nil), // 5: DBRaceRank + (*RaceData)(nil), // 6: RaceData + (*DBPagodaRace)(nil), // 7: DBPagodaRace + (*DBPagodaCycle)(nil), // 8: DBPagodaCycle + (*DBCyclePagodaRecord)(nil), // 9: DBCyclePagodaRecord + (*CycleData)(nil), // 10: CycleData + (*DBCycleRank)(nil), // 11: DBCycleRank + (*DBCycelData)(nil), // 12: DBCycelData + nil, // 13: DBPagoda.RewardEntry + nil, // 14: DBPagoda.DataEntry + nil, // 15: DBPagodaRecord.DataEntry + nil, // 16: DBRacePagodaRecord.DataEntry + nil, // 17: DBPagodaRace.DataEntry + nil, // 18: DBPagodaRace.RewardEntry + nil, // 19: DBPagodaCycle.DataEntry + nil, // 20: DBCyclePagodaRecord.DataEntry + (*BaseUserInfo)(nil), // 21: BaseUserInfo + (*LineData)(nil), // 22: LineData } var file_pagoda_pagoda_db_proto_depIdxs = []int32{ - 11, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry - 12, // 1: DBPagoda.data:type_name -> DBPagoda.DataEntry - 18, // 2: DBPagodaRecord.line:type_name -> LineUp - 19, // 3: DBRacePagodaRecord.uinfo:type_name -> BaseUserInfo - 13, // 4: DBRacePagodaRecord.data:type_name -> DBRacePagodaRecord.DataEntry - 19, // 5: DBRaceRank.uinfo:type_name -> BaseUserInfo - 20, // 6: DBRaceRank.line:type_name -> LineData - 20, // 7: RaceData.line:type_name -> LineData - 14, // 8: DBPagodaRace.data:type_name -> DBPagodaRace.DataEntry - 15, // 9: DBPagodaRace.reward:type_name -> DBPagodaRace.RewardEntry - 19, // 10: DBPagodaRace.uinfo:type_name -> BaseUserInfo - 16, // 11: DBPagodaCycle.data:type_name -> DBPagodaCycle.DataEntry - 19, // 12: DBCyclePagodaRecord.uinfo:type_name -> BaseUserInfo - 17, // 13: DBCyclePagodaRecord.data:type_name -> DBCyclePagodaRecord.DataEntry - 20, // 14: CycleData.line:type_name -> LineData - 19, // 15: DBCycleRank.uinfo:type_name -> BaseUserInfo - 20, // 16: DBCycleRank.line:type_name -> LineData - 4, // 17: DBRacePagodaRecord.DataEntry.value:type_name -> RaceData - 4, // 18: DBPagodaRace.DataEntry.value:type_name -> RaceData - 8, // 19: DBPagodaCycle.DataEntry.value:type_name -> CycleData - 8, // 20: DBCyclePagodaRecord.DataEntry.value:type_name -> CycleData - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 13, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry + 14, // 1: DBPagoda.data:type_name -> DBPagoda.DataEntry + 21, // 2: DBPagodaRecord.uinfo:type_name -> BaseUserInfo + 15, // 3: DBPagodaRecord.data:type_name -> DBPagodaRecord.DataEntry + 21, // 4: PagodaRank.uinfo:type_name -> BaseUserInfo + 22, // 5: PagodaRank.line:type_name -> LineData + 22, // 6: PagodaData.line:type_name -> LineData + 21, // 7: DBRacePagodaRecord.uinfo:type_name -> BaseUserInfo + 16, // 8: DBRacePagodaRecord.data:type_name -> DBRacePagodaRecord.DataEntry + 21, // 9: DBRaceRank.uinfo:type_name -> BaseUserInfo + 22, // 10: DBRaceRank.line:type_name -> LineData + 22, // 11: RaceData.line:type_name -> LineData + 17, // 12: DBPagodaRace.data:type_name -> DBPagodaRace.DataEntry + 18, // 13: DBPagodaRace.reward:type_name -> DBPagodaRace.RewardEntry + 21, // 14: DBPagodaRace.uinfo:type_name -> BaseUserInfo + 19, // 15: DBPagodaCycle.data:type_name -> DBPagodaCycle.DataEntry + 21, // 16: DBCyclePagodaRecord.uinfo:type_name -> BaseUserInfo + 20, // 17: DBCyclePagodaRecord.data:type_name -> DBCyclePagodaRecord.DataEntry + 22, // 18: CycleData.line:type_name -> LineData + 21, // 19: DBCycleRank.uinfo:type_name -> BaseUserInfo + 22, // 20: DBCycleRank.line:type_name -> LineData + 3, // 21: DBPagodaRecord.DataEntry.value:type_name -> PagodaData + 6, // 22: DBRacePagodaRecord.DataEntry.value:type_name -> RaceData + 6, // 23: DBPagodaRace.DataEntry.value:type_name -> RaceData + 10, // 24: DBPagodaCycle.DataEntry.value:type_name -> CycleData + 10, // 25: DBCyclePagodaRecord.DataEntry.value:type_name -> CycleData + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_pagoda_pagoda_db_proto_init() } @@ -1185,7 +1271,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBRacePagodaRecord); i { + switch v := v.(*PagodaRank); i { case 0: return &v.state case 1: @@ -1197,7 +1283,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBRaceRank); i { + switch v := v.(*PagodaData); i { case 0: return &v.state case 1: @@ -1209,7 +1295,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RaceData); i { + switch v := v.(*DBRacePagodaRecord); i { case 0: return &v.state case 1: @@ -1221,7 +1307,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBPagodaRace); i { + switch v := v.(*DBRaceRank); i { case 0: return &v.state case 1: @@ -1233,7 +1319,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBPagodaCycle); i { + switch v := v.(*RaceData); i { case 0: return &v.state case 1: @@ -1245,7 +1331,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBCyclePagodaRecord); i { + switch v := v.(*DBPagodaRace); i { case 0: return &v.state case 1: @@ -1257,7 +1343,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CycleData); i { + switch v := v.(*DBPagodaCycle); i { case 0: return &v.state case 1: @@ -1269,7 +1355,7 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBCycleRank); i { + switch v := v.(*DBCyclePagodaRecord); i { case 0: return &v.state case 1: @@ -1281,6 +1367,30 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CycleData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pagoda_pagoda_db_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBCycleRank); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pagoda_pagoda_db_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DBCycelData); i { case 0: return &v.state @@ -1299,7 +1409,7 @@ func file_pagoda_pagoda_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pagoda_pagoda_db_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/pagoda_msg.pb.go b/pb/pagoda_msg.pb.go index ffd2182e4..e86a5b3e9 100644 --- a/pb/pagoda_msg.pb.go +++ b/pb/pagoda_msg.pb.go @@ -445,8 +445,7 @@ type PagodaRankListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` // - Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // true 好友榜 + Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` // 层数 } func (x *PagodaRankListReq) Reset() { @@ -488,19 +487,13 @@ func (x *PagodaRankListReq) GetCid() int32 { return 0 } -func (x *PagodaRankListReq) GetFriend() bool { - if x != nil { - return x.Friend - } - return false -} - type PagodaRankListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ranks []*DBPagodaRecord `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` + Ranks []*PagodaRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` + Franks []*PagodaRank `protobuf:"bytes,2,rep,name=franks,proto3" json:"franks"` // 好友数据 } func (x *PagodaRankListResp) Reset() { @@ -535,13 +528,20 @@ func (*PagodaRankListResp) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{9} } -func (x *PagodaRankListResp) GetRanks() []*DBPagodaRecord { +func (x *PagodaRankListResp) GetRanks() []*PagodaRank { if x != nil { return x.Ranks } return nil } +func (x *PagodaRankListResp) GetFranks() []*PagodaRank { + if x != nil { + return x.Franks + } + return nil +} + // 查询玩家最佳通关记录数据 type PagodaQueryRecordReq struct { state protoimpl.MessageState @@ -1769,126 +1769,127 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{ 0x78, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, + 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, - 0x16, 0x0a, 0x14, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x15, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x13, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x22, 0x33, 0x0a, 0x12, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x13, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x57, 0x61, 0x72, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x22, 0x56, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x57, 0x61, - 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, - 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x6d, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x6d, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x16, - 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, - 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x06, - 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x50, 0x0a, 0x17, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x22, 0x6d, 0x0a, 0x1a, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4f, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x06, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4f, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x43, 0x0a, - 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x48, 0x65, 0x72, - 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, - 0x78, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, - 0x0a, 0x10, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x22, 0x36, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, - 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, - 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x40, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, - 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x64, 0x22, 0x5c, 0x0a, 0x14, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, - 0x65, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x22, 0x38, 0x0a, 0x12, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x17, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x50, 0x61, + 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x21, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, + 0x6e, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, + 0x52, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x22, 0x3c, 0x0a, 0x15, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x13, + 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x22, 0x33, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x13, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x57, 0x61, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x56, 0x0a, + 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x57, 0x61, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, + 0x69, 0x74, 0x6d, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, - 0x51, 0x0a, 0x18, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, - 0x6f, 0x72, 0x22, 0x5a, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xe7, - 0x01, 0x0a, 0x1c, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x04, 0x64, + 0x50, 0x0a, 0x17, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, + 0x72, 0x22, 0x6d, 0x0a, 0x1a, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, + 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, - 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, - 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x42, 0x0a, 0x1c, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, + 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, + 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x22, 0x36, 0x0a, 0x11, 0x50, + 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x22, 0x40, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, + 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x21, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, + 0x6e, 0x6b, 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x64, + 0x22, 0x5c, 0x0a, 0x14, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x13, + 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x22, 0x38, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, + 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, + 0x17, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x28, + 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x51, 0x0a, 0x18, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x22, 0x5a, 0x0a, 0x1b, 0x50, + 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x6f, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x1c, 0x50, 0x61, 0x67, 0x6f, + 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x44, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, + 0x72, 0x6f, 0x65, 0x78, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x78, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x1d, 0x0a, 0x1b, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, + 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x22, 0x42, 0x0a, 0x1c, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, + 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x22, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x44, 0x42, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, + 0x61, 0x6e, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1947,12 +1948,13 @@ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{ (*BattleFormation)(nil), // 39: BattleFormation (*BattleInfo)(nil), // 40: BattleInfo (*BattleReport)(nil), // 41: BattleReport - (*DBPagodaRecord)(nil), // 42: DBPagodaRecord - (*UserAssets)(nil), // 43: UserAssets - (*DBPagodaRace)(nil), // 44: DBPagodaRace - (*DBRaceRank)(nil), // 45: DBRaceRank - (*DBPagodaCycle)(nil), // 46: DBPagodaCycle - (*DBCycleRank)(nil), // 47: DBCycleRank + (*PagodaRank)(nil), // 42: PagodaRank + (*DBPagodaRecord)(nil), // 43: DBPagodaRecord + (*UserAssets)(nil), // 44: UserAssets + (*DBPagodaRace)(nil), // 45: DBPagodaRace + (*DBRaceRank)(nil), // 46: DBRaceRank + (*DBPagodaCycle)(nil), // 47: DBPagodaCycle + (*DBCycleRank)(nil), // 48: DBCycleRank } var file_pagoda_pagoda_msg_proto_depIdxs = []int32{ 37, // 0: PagodaGetListResp.data:type_name -> DBPagoda @@ -1964,34 +1966,35 @@ var file_pagoda_pagoda_msg_proto_depIdxs = []int32{ 37, // 6: PagodaChallengeOverResp.data:type_name -> DBPagoda 38, // 7: PagodaChallengeOverResp.reward:type_name -> UserAtno 34, // 8: PagodaChallengeOverResp.heroexp:type_name -> PagodaChallengeOverResp.HeroexpEntry - 42, // 9: PagodaRankListResp.ranks:type_name -> DBPagodaRecord - 42, // 10: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord - 37, // 11: PagodaActivateResp.data:type_name -> DBPagoda - 37, // 12: PagodaWarOrderResp.data:type_name -> DBPagoda - 43, // 13: PagodaWarOrderResp.itmes:type_name -> UserAssets - 39, // 14: PagodaChallengeRaceReq.battle:type_name -> BattleFormation - 40, // 15: PagodaChallengeRaceResp.info:type_name -> BattleInfo - 41, // 16: PagodaChallengeRaceOverReq.report:type_name -> BattleReport - 44, // 17: PagodaChallengeRaceOverResp.data:type_name -> DBPagodaRace - 38, // 18: PagodaChallengeRaceOverResp.reward:type_name -> UserAtno - 35, // 19: PagodaChallengeRaceOverResp.heroexp:type_name -> PagodaChallengeRaceOverResp.HeroexpEntry - 44, // 20: PagodaGetRaceResp.data:type_name -> DBPagodaRace - 45, // 21: PagodaCrossRaceRankListResp.ranks:type_name -> DBRaceRank - 44, // 22: PagodaRaceRewardResp.data:type_name -> DBPagodaRace - 38, // 23: PagodaRaceRewardResp.reward:type_name -> UserAtno - 46, // 24: PagodaGetCycleResp.data:type_name -> DBPagodaCycle - 39, // 25: PagodaChallengeCycleReq.battle:type_name -> BattleFormation - 40, // 26: PagodaChallengeCycleResp.info:type_name -> BattleInfo - 41, // 27: PagodaChallengeCycleOverReq.report:type_name -> BattleReport - 46, // 28: PagodaChallengeCycleOverResp.data:type_name -> DBPagodaCycle - 38, // 29: PagodaChallengeCycleOverResp.reward:type_name -> UserAtno - 36, // 30: PagodaChallengeCycleOverResp.heroexp:type_name -> PagodaChallengeCycleOverResp.HeroexpEntry - 47, // 31: PagodaCrossCycleRankListResp.ranks:type_name -> DBCycleRank - 32, // [32:32] is the sub-list for method output_type - 32, // [32:32] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 42, // 9: PagodaRankListResp.ranks:type_name -> PagodaRank + 42, // 10: PagodaRankListResp.franks:type_name -> PagodaRank + 43, // 11: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord + 37, // 12: PagodaActivateResp.data:type_name -> DBPagoda + 37, // 13: PagodaWarOrderResp.data:type_name -> DBPagoda + 44, // 14: PagodaWarOrderResp.itmes:type_name -> UserAssets + 39, // 15: PagodaChallengeRaceReq.battle:type_name -> BattleFormation + 40, // 16: PagodaChallengeRaceResp.info:type_name -> BattleInfo + 41, // 17: PagodaChallengeRaceOverReq.report:type_name -> BattleReport + 45, // 18: PagodaChallengeRaceOverResp.data:type_name -> DBPagodaRace + 38, // 19: PagodaChallengeRaceOverResp.reward:type_name -> UserAtno + 35, // 20: PagodaChallengeRaceOverResp.heroexp:type_name -> PagodaChallengeRaceOverResp.HeroexpEntry + 45, // 21: PagodaGetRaceResp.data:type_name -> DBPagodaRace + 46, // 22: PagodaCrossRaceRankListResp.ranks:type_name -> DBRaceRank + 45, // 23: PagodaRaceRewardResp.data:type_name -> DBPagodaRace + 38, // 24: PagodaRaceRewardResp.reward:type_name -> UserAtno + 47, // 25: PagodaGetCycleResp.data:type_name -> DBPagodaCycle + 39, // 26: PagodaChallengeCycleReq.battle:type_name -> BattleFormation + 40, // 27: PagodaChallengeCycleResp.info:type_name -> BattleInfo + 41, // 28: PagodaChallengeCycleOverReq.report:type_name -> BattleReport + 47, // 29: PagodaChallengeCycleOverResp.data:type_name -> DBPagodaCycle + 38, // 30: PagodaChallengeCycleOverResp.reward:type_name -> UserAtno + 36, // 31: PagodaChallengeCycleOverResp.heroexp:type_name -> PagodaChallengeCycleOverResp.HeroexpEntry + 48, // 32: PagodaCrossCycleRankListResp.ranks:type_name -> DBCycleRank + 33, // [33:33] is the sub-list for method output_type + 33, // [33:33] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_pagoda_pagoda_msg_proto_init() }