赛季塔跨服排行

This commit is contained in:
meixiongfeng 2023-07-13 18:39:56 +08:00
parent 75bfe5e688
commit 1c0578e5c7
10 changed files with 305 additions and 80 deletions

View File

@ -286,6 +286,9 @@ const (
//活动礼包 //活动礼包
TableActivityGiftbag = "activitygiftbag" TableActivityGiftbag = "activitygiftbag"
///记录用户爬塔排行数据
TableRaceRecord = "pagodarace"
) )
// RPC服务接口定义处 // RPC服务接口定义处

View File

@ -314,8 +314,7 @@ type (
ModifyPagodaFloor(session IUserSession, d1 int32, d2 int32) (errdata *pb.ErrorData) ModifyPagodaFloor(session IUserSession, d1 int32, d2 int32) (errdata *pb.ErrorData)
CheckUserBasePagodaInfo(uid string) (data *pb.DBPagodaRecord) // 查询玩家最佳通关记录 CheckUserBasePagodaInfo(uid string) (data *pb.DBPagodaRecord) // 查询玩家最佳通关记录
CheckCompletePagoda(uid string) (bComplete bool) // 校验是否通关普通塔 CheckCompletePagoda(uid string) (bComplete bool) // 校验是否通关普通塔
// Check Rtype84 Rtype85 Rtype86
CheckPagodaMaxFloor(uid string, pagodaType int32) int32 // 查询塔通关难度type 1 表示普通塔 2 赛季塔
///红点 ///红点
IGetReddot IGetReddot
} }

View File

@ -67,10 +67,12 @@ func (this *ModelMline) cleanChapter(uId string) (err error) {
// 清除数据 // 清除数据
func (this *ModelMline) cleanChapterDataById(uId string, ids ...string) (err error) { func (this *ModelMline) cleanChapterDataById(uId string, ids ...string) (err error) {
if len(ids) > 0 {
this.module.Debugf("cleanChapterDataById:%s,%v", uId, ids) this.module.Debugf("cleanChapterDataById:%s,%v", uId, ids)
if err = this.DelListlds(uId, ids); err != nil { if err = this.DelListlds(uId, ids); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} }
}
return nil return nil
} }

View File

@ -13,6 +13,7 @@ const (
PagodaChallengeOverResp = "challengeover" PagodaChallengeOverResp = "challengeover"
PagodaGetRewardResp = "getreward" PagodaGetRewardResp = "getreward"
PagodaRankListResp = "ranklist" PagodaRankListResp = "ranklist"
PagodaCrossRaceRankListReq = "crossraceranklist"
PagodaActivateResp = "activate" PagodaActivateResp = "activate"
PagodaWarOrderResp = "warorder" PagodaWarOrderResp = "warorder"
PagodaChallengeRaceResp = "challengerace" PagodaChallengeRaceResp = "challengerace"

View File

@ -0,0 +1,56 @@
package pagoda
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/pb"
"strconv"
"github.com/go-redis/redis/v8"
)
//参数校验
func (this *apiComp) CrossRaceRankListCheck(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) {
if req.Raceid == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
return
}
func (this *apiComp) CrossRaceRankList(session comm.IUserSession, req *pb.PagodaCrossRaceRankListReq) (errdata *pb.ErrorData) {
var (
szRank []*pb.DBPagodaRecord
rd *redis.StringSliceCmd
)
if errdata = this.CrossRaceRankListCheck(session, req); errdata != nil {
return
}
if this.module.IsCross() {
var (
pipe *pipe.RedisPipe = this.module.modelPagoda.Redis.RedisPipe(context.TODO())
)
rd = pipe.ZRange("race"+strconv.Itoa(int(req.Raceid)), 0, comm.MaxRankList)
if _, err := pipe.Exec(); err != nil {
this.module.Errorln(err)
return
}
_dataList := rd.Val()
for _, v := range _dataList {
result := &pb.DBPagodaRecord{}
if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil {
szRank = append(szRank, result)
}
}
}
session.SendMsg(string(this.module.GetType()), PagodaCrossRaceRankListReq, &pb.PagodaCrossRaceRankListResp{Ranks: szRank})
return
}

View File

@ -4,6 +4,12 @@ import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"math"
"strconv"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
) )
// 参数校验 // 参数校验
@ -43,25 +49,6 @@ func (this *apiComp) ChallengeRaceOver(session comm.IUserSession, req *pb.Pagoda
return return
} }
// 判断开启时间
// curWeekDay := int32(configure.Now().Weekday())
// if curWeekDay == 0 {
// curWeekDay = 7
// }
// for _, v := range conf.Openingtime {
// if v == curWeekDay {
// timeCheckOk = true
// break
// }
// }
// if !timeCheckOk {
// errdata = &pb.ErrorData{
// Code: pb.ErrorCode_PagodaTimeError,
// Title: pb.ErrorCode_PagodaTimeError.ToString(),
// }
// return
// }
race, err = this.module.modelRacePagoda.getPagodaRaceList(session.GetUserId()) race, err = this.module.modelRacePagoda.getPagodaRaceList(session.GetUserId())
if err != nil { if err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
@ -138,6 +125,62 @@ func (this *apiComp) ChallengeRaceOver(session comm.IUserSession, req *pb.Pagoda
Reward: atno, Reward: atno,
}) })
// 记录爬塔明细数据
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 != nil {
szLine = append(szLine, &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
})
}
}
// 数据直接插入跨服数据库中
uid := session.GetUserId()
userinfo := this.module.ModuleUser.GetUser(session.GetUserId())
newData := &pb.DBPagodaRecord{
Id: primitive.NewObjectID().Hex(),
Uid: session.GetUserId(),
PagodaId: race.Race[conf.Restriction].Curfloor,
Type: conf.Restriction,
Nickname: userinfo.Name,
Icon: "",
Lv: userinfo.Lv,
Leadpos: leadpos,
Line: szLine,
CostTime: req.Report.Costtime,
Tab: 0,
}
// 数据写到跨服中
if conn_, err := db.Cross(); err == nil {
dbModel := db.NewDBModel(comm.TableRaceRecord, time.Hour, conn_)
result := make([]*pb.DBPagodaRecord, 0)
bRet := false
dbModel.GetList(uid, &result)
for _, v := range result {
if v.Type == conf.Restriction {
newData.Id = v.Id
mapRankData := make(map[string]interface{}, 0)
mapRankData["pagodaId"] = race.Race[conf.Restriction].Curfloor
mapRankData["costTime"] = req.Report.Costtime
dbModel.ChangeList(uid, newData.Id, mapRankData)
bRet = true
break
}
}
if !bRet {
dbModel.AddList(uid, newData.Id, newData)
}
} else {
this.module.Errorf("db crosserr :%v", err)
}
this.module.SetPagodaRankList("race"+strconv.Itoa(int(conf.Restriction)), int64(math.MaxInt32-newData.CostTime), newData.Id)
}
// 任务相关 // 任务相关
//go this.module.ModuleBuried.TriggerBuried(session.Clone(), comm.GetBuriedParam(comm.Rtype168, pagoda.Data[conf.Tab], conf.Tab)) //go this.module.ModuleBuried.TriggerBuried(session.Clone(), comm.GetBuriedParam(comm.Rtype168, pagoda.Data[conf.Tab], conf.Tab))
return return

View File

@ -12,7 +12,13 @@ import (
//参数校验 //参数校验
func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.PagodaRankListReq) (errdata *pb.ErrorData) { func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.PagodaRankListReq) (errdata *pb.ErrorData) {
if req.Cid == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
return return
} }
@ -30,9 +36,8 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR
var ( var (
pipe *pipe.RedisPipe = this.module.modelPagoda.Redis.RedisPipe(context.TODO()) pipe *pipe.RedisPipe = this.module.modelPagoda.Redis.RedisPipe(context.TODO())
) )
if req.Cid != 0 {
rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.Cid)), 0, comm.MaxRankList) rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.Cid)), 0, comm.MaxRankList)
}
if _, err := pipe.Exec(); err != nil { if _, err := pipe.Exec(); err != nil {
this.module.Errorln(err) this.module.Errorln(err)

View File

@ -51,7 +51,7 @@ func (this *ModelRank) getPagodaRankListByFloorid(uid string, cid int32) *pb.DBP
} }
for _, v := range pagodaRank { for _, v := range pagodaRank {
if conf, err := this.modulePagoda.configure.GetPagodaConfigData(cid); err == nil { if conf, err := this.modulePagoda.configure.GetPagodaConfigData(cid); err == nil {
if v.PagodaId == conf.LayerNum && v.Tab == conf.Tab { if v.Tab == conf.Tab {
return v return v
} }
} }

View File

@ -184,20 +184,6 @@ func (this *Pagoda) Rpc_ModuleSeasonPagodaReward(ctx context.Context, args *pb.E
// this.modulerank.seasonSettlement() // this.modulerank.seasonSettlement()
} }
// 给随机任务提供的接口查询当前塔的通关层数
func (this *Pagoda) CheckPagodaMaxFloor(uid string, pagodaType int32) int32 {
if pagodaType == 1 {
if list, err := this.modelPagoda.getPagodaList(uid); err != nil {
return list.PagodaId
}
} else if pagodaType == 2 {
if pagoda, err := this.modelPagoda.getPagodaList(uid); err != nil {
return pagoda.PagodaId
}
}
return 0
}
func (this *Pagoda) GetSeasonData() (endSeasonTime int64) { func (this *Pagoda) GetSeasonData() (endSeasonTime int64) {
_, endSeasonTime = utils.GetMonthStartEnd() //+ int64((6-d)*3600*24) _, endSeasonTime = utils.GetMonthStartEnd() //+ int64((6-d)*3600*24)

View File

@ -1100,6 +1100,101 @@ func (x *PagodaGetRaceResp) GetRace() map[int32]*RaceData {
return nil return nil
} }
// 阵容跨服排行榜
type PagodaCrossRaceRankListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Raceid int32 `protobuf:"varint,1,opt,name=raceid,proto3" json:"raceid"` // 阵容id
}
func (x *PagodaCrossRaceRankListReq) Reset() {
*x = PagodaCrossRaceRankListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pagoda_pagoda_msg_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PagodaCrossRaceRankListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PagodaCrossRaceRankListReq) ProtoMessage() {}
func (x *PagodaCrossRaceRankListReq) ProtoReflect() protoreflect.Message {
mi := &file_pagoda_pagoda_msg_proto_msgTypes[22]
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 PagodaCrossRaceRankListReq.ProtoReflect.Descriptor instead.
func (*PagodaCrossRaceRankListReq) Descriptor() ([]byte, []int) {
return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{22}
}
func (x *PagodaCrossRaceRankListReq) GetRaceid() int32 {
if x != nil {
return x.Raceid
}
return 0
}
type PagodaCrossRaceRankListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ranks []*DBPagodaRecord `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"`
}
func (x *PagodaCrossRaceRankListResp) Reset() {
*x = PagodaCrossRaceRankListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pagoda_pagoda_msg_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PagodaCrossRaceRankListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PagodaCrossRaceRankListResp) ProtoMessage() {}
func (x *PagodaCrossRaceRankListResp) ProtoReflect() protoreflect.Message {
mi := &file_pagoda_pagoda_msg_proto_msgTypes[23]
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 PagodaCrossRaceRankListResp.ProtoReflect.Descriptor instead.
func (*PagodaCrossRaceRankListResp) Descriptor() ([]byte, []int) {
return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{23}
}
func (x *PagodaCrossRaceRankListResp) GetRanks() []*DBPagodaRecord {
if x != nil {
return x.Ranks
}
return nil
}
var File_pagoda_pagoda_msg_proto protoreflect.FileDescriptor var File_pagoda_pagoda_msg_proto protoreflect.FileDescriptor
var file_pagoda_pagoda_msg_proto_rawDesc = []byte{ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{
@ -1194,8 +1289,16 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 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, 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, 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, 0x42, 0x06, 0x5a, 0x04, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x1a,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 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, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61,
0x63, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x63, 0x65,
0x69, 0x64, 0x22, 0x44, 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, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -1210,7 +1313,7 @@ func file_pagoda_pagoda_msg_proto_rawDescGZIP() []byte {
return file_pagoda_pagoda_msg_proto_rawDescData return file_pagoda_pagoda_msg_proto_rawDescData
} }
var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{
(*PagodaGetListReq)(nil), // 0: PagodaGetListReq (*PagodaGetListReq)(nil), // 0: PagodaGetListReq
(*PagodaGetListResp)(nil), // 1: PagodaGetListResp (*PagodaGetListResp)(nil), // 1: PagodaGetListResp
@ -1234,40 +1337,43 @@ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{
(*PagodaChallengeRaceOverResp)(nil), // 19: PagodaChallengeRaceOverResp (*PagodaChallengeRaceOverResp)(nil), // 19: PagodaChallengeRaceOverResp
(*PagodaGetRaceReq)(nil), // 20: PagodaGetRaceReq (*PagodaGetRaceReq)(nil), // 20: PagodaGetRaceReq
(*PagodaGetRaceResp)(nil), // 21: PagodaGetRaceResp (*PagodaGetRaceResp)(nil), // 21: PagodaGetRaceResp
nil, // 22: PagodaGetRaceResp.RaceEntry (*PagodaCrossRaceRankListReq)(nil), // 22: PagodaCrossRaceRankListReq
(*DBPagoda)(nil), // 23: DBPagoda (*PagodaCrossRaceRankListResp)(nil), // 23: PagodaCrossRaceRankListResp
(*BattleFormation)(nil), // 24: BattleFormation nil, // 24: PagodaGetRaceResp.RaceEntry
(*BattleInfo)(nil), // 25: BattleInfo (*DBPagoda)(nil), // 25: DBPagoda
(*BattleReport)(nil), // 26: BattleReport (*BattleFormation)(nil), // 26: BattleFormation
(*DBPagodaRecord)(nil), // 27: DBPagodaRecord (*BattleInfo)(nil), // 27: BattleInfo
(*UserAssets)(nil), // 28: UserAssets (*BattleReport)(nil), // 28: BattleReport
(*RaceData)(nil), // 29: RaceData (*DBPagodaRecord)(nil), // 29: DBPagodaRecord
(*UserAtno)(nil), // 30: UserAtno (*UserAssets)(nil), // 30: UserAssets
(*RaceData)(nil), // 31: RaceData
(*UserAtno)(nil), // 32: UserAtno
} }
var file_pagoda_pagoda_msg_proto_depIdxs = []int32{ var file_pagoda_pagoda_msg_proto_depIdxs = []int32{
23, // 0: PagodaGetListResp.data:type_name -> DBPagoda 25, // 0: PagodaGetListResp.data:type_name -> DBPagoda
23, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda 25, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda
24, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation 26, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation
25, // 3: PagodaChallengeResp.info:type_name -> BattleInfo 27, // 3: PagodaChallengeResp.info:type_name -> BattleInfo
26, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport 28, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport
23, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda 25, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda
27, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord 29, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord
27, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord 29, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord
23, // 8: PagodaActivateResp.data:type_name -> DBPagoda 25, // 8: PagodaActivateResp.data:type_name -> DBPagoda
23, // 9: PagodaWarOrderResp.data:type_name -> DBPagoda 25, // 9: PagodaWarOrderResp.data:type_name -> DBPagoda
28, // 10: PagodaWarOrderResp.itmes:type_name -> UserAssets 30, // 10: PagodaWarOrderResp.itmes:type_name -> UserAssets
24, // 11: PagodaChallengeRaceReq.battle:type_name -> BattleFormation 26, // 11: PagodaChallengeRaceReq.battle:type_name -> BattleFormation
25, // 12: PagodaChallengeRaceResp.info:type_name -> BattleInfo 27, // 12: PagodaChallengeRaceResp.info:type_name -> BattleInfo
26, // 13: PagodaChallengeRaceOverReq.report:type_name -> BattleReport 28, // 13: PagodaChallengeRaceOverReq.report:type_name -> BattleReport
29, // 14: PagodaChallengeRaceOverResp.race:type_name -> RaceData 31, // 14: PagodaChallengeRaceOverResp.race:type_name -> RaceData
30, // 15: PagodaChallengeRaceOverResp.reward:type_name -> UserAtno 32, // 15: PagodaChallengeRaceOverResp.reward:type_name -> UserAtno
22, // 16: PagodaGetRaceResp.race:type_name -> PagodaGetRaceResp.RaceEntry 24, // 16: PagodaGetRaceResp.race:type_name -> PagodaGetRaceResp.RaceEntry
29, // 17: PagodaGetRaceResp.RaceEntry.value:type_name -> RaceData 29, // 17: PagodaCrossRaceRankListResp.ranks:type_name -> DBPagodaRecord
18, // [18:18] is the sub-list for method output_type 31, // 18: PagodaGetRaceResp.RaceEntry.value:type_name -> RaceData
18, // [18:18] is the sub-list for method input_type 19, // [19:19] is the sub-list for method output_type
18, // [18:18] is the sub-list for extension type_name 19, // [19:19] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension extendee 19, // [19:19] is the sub-list for extension type_name
0, // [0:18] is the sub-list for field type_name 19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
} }
func init() { file_pagoda_pagoda_msg_proto_init() } func init() { file_pagoda_pagoda_msg_proto_init() }
@ -1543,6 +1649,30 @@ func file_pagoda_pagoda_msg_proto_init() {
return nil return nil
} }
} }
file_pagoda_pagoda_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PagodaCrossRaceRankListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pagoda_pagoda_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PagodaCrossRaceRankListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@ -1550,7 +1680,7 @@ func file_pagoda_pagoda_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pagoda_pagoda_msg_proto_rawDesc, RawDescriptor: file_pagoda_pagoda_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 23, NumMessages: 25,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },