From 5771cde84478fc7bef58fe2bd719eba66bae8bac Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 27 Dec 2023 19:00:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E6=8E=92=E8=A1=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=84=E6=95=B4=E7=90=86=E4=BC=98=E5=8C=96?= =?UTF-8?q?=20=E5=87=8F=E5=B0=91io=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/integral/api_challenge.go | 2 +- modules/viking/api_challengeover.go | 46 +- modules/viking/api_ranklist.go | 68 ++- modules/viking/api_seasonrank.go | 73 ++- modules/viking/model_rank.go | 161 ++++-- modules/viking/model_srank.go | 234 +++++++++ modules/viking/module.go | 238 +-------- pb/friend_db.pb.go | 2 +- pb/viking_db.pb.go | 754 +++++++++++++++++++--------- pb/viking_msg.pb.go | 71 +-- 10 files changed, 1013 insertions(+), 636 deletions(-) create mode 100644 modules/viking/model_srank.go diff --git a/modules/integral/api_challenge.go b/modules/integral/api_challenge.go index 1668500f0..b7dc30271 100644 --- a/modules/integral/api_challenge.go +++ b/modules/integral/api_challenge.go @@ -45,7 +45,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.IntegralChalle return } // 校验门票 最大值等配置 - if list.Count >= 3 { + if list.Count >= this.module.ModuleTools.GetGlobalConf().IntegralBossChallengeNum { errdata = &pb.ErrorData{ // 不能挑战了 Code: pb.ErrorCode_TntegralDayMaxChallenge, Title: pb.ErrorCode_TntegralDayMaxChallenge.ToString(), diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index b211fd95e..46e4a5e15 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -116,7 +116,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal if viking.BossTime[key] == 0 || viking.BossTime[key] > req.Report.Costtime { viking.BossTime[key] = req.Report.Costtime mapData["bossTime"] = viking.BossTime // 更新时间 - this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, req.Report) + //this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, req.Report) } if req.Auto == 1 { @@ -127,29 +127,31 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal viking.Round[req.Auto] = req.Report.Round mapData["round"] = viking.Round } - // 连续自动战斗 - if len(viking.Round) == 10 { - var total int32 - for _, v := range viking.Round { - total += v - } - 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, - }) - } + var total int32 + for _, v := range viking.Round { + total += v + } + 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, + }) } } - this.module.CheckSeasonRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, total) } - + go func() { + this.module.modulerank.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, req.Report.Costtime) + // 连续自动战斗 + if len(viking.Round) == 10 { + this.module.modelsrank.CheckSeasonRank(session.GetUserId(), req.BossId, req.Difficulty, Leadpos, szLine, total) + } + }() reward = this.module.ModuleTools.GetGroupDataByLottery(vikingCfg.Drop, user.Vip, user.Lv) b := this.module.ModuleActivity.HDCelebration(session, 2, req.BossId) @@ -218,7 +220,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal var tasks []*pb.BuriedParam tasks = append(tasks, comm.GetBuriedParam(comm.Rtype73, 1, req.BossId, req.Difficulty)) //szTask = append(szTask, comm.GetBuriedParam(comm.Rtype74, req.BossId, req.Difficulty)) - tasks = append(tasks, comm.GetBuriedParam(comm.Rtype78, req.BossId, req.Report.Costtime/1000, req.Difficulty)) + tasks = append(tasks, comm.GetBuriedParam(comm.Rtype78, req.BossId, req.Report.Costtime, req.Difficulty)) if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { diff --git a/modules/viking/api_ranklist.go b/modules/viking/api_ranklist.go index 5939028b3..d75cfa870 100644 --- a/modules/viking/api_ranklist.go +++ b/modules/viking/api_ranklist.go @@ -1,14 +1,8 @@ package viking import ( - "context" "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" - "go_dreamfactory/sys/db" - "strconv" - - "github.com/go-redis/redis/v8" ) //参数校验 @@ -24,44 +18,44 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.VikingRank func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListReq) (errdata *pb.ErrorData) { var ( - szRank []*pb.DBVikingRank - rd *redis.StringSliceCmd + fRank []*pb.DBVikingRank + uids []string + err error + ranks []*pb.DBVikingRecord + players []*pb.DBVikingRank ) if errdata = this.RankListCheck(session, req); errdata != nil { return // 参数校验失败直接返回 } - conn, _ := db.Local() - - dbModel := db.NewDBModelByExpired(comm.TableVikingRank, conn) - if !req.Friend { - var ( - pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) - ) - rd = pipe.ZRevRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) - - if _, err := pipe.Exec(); err != nil { - this.module.Errorln(err) - return + if uids, err = this.module.modulerank.querySRankUser(int(req.BoosType)); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), } - _dataList := rd.Val() - for _, v := range _dataList { - result := &pb.DBVikingRank{} - - if err := dbModel.Redis.HGetAll(v, result); err == nil { - szRank = append(szRank, result) - } + return + } + if ranks, err = this.module.modulerank.queryPlayers(uids); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), } - - } else { - uids := this.friend.GetFriendList(session.GetUserId()) - for _, id := range uids { - rankData := this.module.modulerank.getVikingRankListByBossType(id, req.BoosType) - if rankData != nil { - szRank = append(szRank, rankData) - } + return + } + players = make([]*pb.DBVikingRank, len(ranks)) + for i, v := range ranks { + players[i] = &pb.DBVikingRank{ + Uinfo: v.Uinfo, + Line: v.Line, + Difficulty: v.Data[req.BoosType].Maxnandu, + Bosstype: req.BoosType, + Costtime: v.Data[req.BoosType].Costime[v.Data[req.BoosType].Maxnandu], } } - - session.SendMsg(string(this.module.GetType()), VikingRankListResp, &pb.VikingRankListResp{Ranks: szRank}) + session.SendMsg(string(this.module.GetType()), VikingRankListResp, &pb.VikingRankListResp{ + Ranks: players, + Franks: fRank, + }) return } diff --git a/modules/viking/api_seasonrank.go b/modules/viking/api_seasonrank.go index 2ed4f262d..585f5aacb 100644 --- a/modules/viking/api_seasonrank.go +++ b/modules/viking/api_seasonrank.go @@ -1,14 +1,9 @@ package viking import ( - "context" "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" "go_dreamfactory/sys/db" - "strconv" - - "github.com/go-redis/redis/v8" ) //参数校验 @@ -24,57 +19,57 @@ func (this *apiComp) SeasonRankCheck(session comm.IUserSession, req *pb.VikingSe func (this *apiComp) SeasonRank(session comm.IUserSession, req *pb.VikingSeasonRankReq) (errdata *pb.ErrorData) { var ( - szRank []*pb.DBVSeasonRank - rd *redis.StringSliceCmd - conn *db.DBConn - pipe *pipe.RedisPipe - err error - endSeasonTime int64 - bCross bool // 是否是跨服 + uids []string + err error + ranks []*pb.DBVSeasonRecord + players []*pb.DBVikingSRank ) if errdata = this.SeasonRankCheck(session, req); errdata != nil { return // 参数校验失败直接返回 } - if bCross, endSeasonTime = this.module.CheckCurSeasonData(); bCross { - conn, err = db.Local() + var ( + conn_ *db.DBConn + ) + if bcross, _ := this.module.CheckCurSeasonData(); bcross { + conn_, err = db.Local() // 获取跨服数据库对象 if err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Message: err.Error(), - } return } - } else { - conn, _ = db.Cross() + } else { //数据记录在本服 + conn_, err = db.Cross() if err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Message: err.Error(), - } return } } - - dbModel := db.NewDBModelByExpired(comm.TableVikingSRank, conn) - - pipe = conn.Redis.RedisPipe(context.TODO()) - rd = pipe.ZRevRange("vSeasonRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) - - if _, err := pipe.Exec(); err != nil { - this.module.Errorln(err) + if uids, err = this.module.modelsrank.querySRankUser(int(req.BoosType), conn_); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } return } - _dataList := rd.Val() - for _, v := range _dataList { - result := &pb.DBVSeasonRank{} - if err := dbModel.Redis.HGetAll(v, result); err == nil { - szRank = append(szRank, result) + if ranks, err = this.module.modelsrank.queryPlayers(uids, conn_); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + players = make([]*pb.DBVikingSRank, len(ranks)) + for i, v := range ranks { + players[i] = &pb.DBVikingSRank{ + Uinfo: v.Uinfo, + Line: v.Line, + Difficulty: v.Data[req.BoosType].Maxnandu, + Bosstype: req.BoosType, + Huihe: v.Data[req.BoosType].Huihe[v.Data[req.BoosType].Maxnandu], } } session.SendMsg(string(this.module.GetType()), VikingSeasonRankReq, &pb.VikingSeasonRankResp{ - Ranks: szRank, - Etime: endSeasonTime, + Ranks: players, }) return } diff --git a/modules/viking/model_rank.go b/modules/viking/model_rank.go index 9a931262e..9ed24fdeb 100644 --- a/modules/viking/model_rank.go +++ b/modules/viking/model_rank.go @@ -1,18 +1,25 @@ package viking import ( + "context" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/mgo" + "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/db" + "strconv" + "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" ) type ModelRank struct { modules.MCompModel + moduleViking *Viking } @@ -28,45 +35,143 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor } // 获取排行榜数据 -func (this *ModelRank) getVikingRankList(uid string) []*pb.DBVikingRank { - ranks := make([]*pb.DBVikingRank, 0) - err := this.GetList(uid, &ranks) +func (this *ModelRank) getVikingRank(uid string) *pb.DBVikingRecord { + data := &pb.DBVikingRecord{} + if !db.IsCross() { + if conn_, err := db.Cross(); err == nil { + model := db.NewDBModelByExpired(comm.TableVikingRank, conn_) + + if err := model.Get(uid, data); err != nil { + return data + } + } + + } + + return data +} + +// 获取排行榜前50的用户名单 +func (this *ModelRank) querySRankUser(bossid int) (ranks []string, err error) { + var ( + result []string + ) + + tableName := this.TableName + strconv.Itoa(int(bossid)) + if result, err = this.Redis.ZRevRange(tableName, 0, 50).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.DBVikingRecord, err error) { + result = make([]*pb.DBVikingRecord, 0) + if _, err = this.Gets(uIds, &result); err != nil && err != mgo.MongodbNil { + //this.module.Errorln(err) + return + } + return +} + +// 记录数据存在跨服 +func (this *ModelRank) CheckRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, costTime int32) { + conn_, err := db.Cross() // 获取跨服数据库对象 if err != nil { - return nil + return } - return ranks -} + user, err := this.moduleViking.ModuleUser.GetUser(uid) + if err != nil { + return + } + model := db.NewDBModelByExpired(comm.TableVikingRank, conn_) -func (this *ModelRank) getVikingRankListByBossType(uid string, bossType int32) *pb.DBVikingRank { + // 写入排行榜 - if db.IsCross() { - ranks := make([]*pb.DBVikingRank, 0) - err := this.GetList(uid, &ranks) - if err != nil { - return nil + record := &pb.DBVikingRecord{} + if err = model.Get(uid, record); err == mgo.MongodbNil { + record.Id = primitive.NewObjectID().Hex() + record.Data = make(map[int32]*pb.ScoreData, 0) + record.Uid = uid + record.Uinfo = &pb.BaseUserInfo{ + Uid: uid, + Sid: user.Sid, + Name: user.Name, + Gender: user.Gender, + Skin: user.CurSkin, + Aframe: user.Curaframe, + Title: user.Curtitle, + Lv: user.Lv, } - for _, v := range ranks { - if v.Bosstype == bossType { - return v + record.Line = &pb.LineData{ + Leadpos: leadpos, + Line: szLine, + } + tmp := make(map[int32]int32, 0) + tmp[difficulty] = costTime + + if record.Data[boosID] == nil { + record.Data[boosID] = &pb.ScoreData{ + Costime: tmp, + Maxnandu: difficulty, + } + } else { + if record.Data[boosID].Maxnandu < difficulty { + record.Data[boosID].Maxnandu = difficulty } } - } else { - conn, err := db.Cross() - if err != nil { - return nil + + model.Add(uid, record) + } else if err == nil { + record.Uinfo = &pb.BaseUserInfo{ + Uid: uid, + Sid: user.Sid, + Name: user.Name, + Gender: user.Gender, + Skin: user.CurSkin, + Aframe: user.Curaframe, + Title: user.Curtitle, + Lv: user.Lv, } - model := db.NewDBModelByExpired(comm.TableVikingRank, conn) - ranks := make([]*pb.DBVikingRank, 0) - err = model.GetList(uid, &ranks) - if err != nil { - return nil + update := make(map[string]interface{}, 0) + update["uinfo"] = record.Uinfo + if record.Data[boosID] == nil { + record.Data[boosID].Costime = make(map[int32]int32, 0) } - for _, v := range ranks { - if v.Bosstype == bossType { - return v + if record.Data[boosID].Maxnandu < difficulty { + record.Data[boosID].Maxnandu = difficulty + } else { + if record.Data[boosID].Costime[difficulty] > costTime { // 不是新记录不写 + return } } + record.Data[boosID].Costime[difficulty] = costTime + update["data"] = record.Data + model.Change(uid, update) } + var ( + pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) + menbers *redis.Z + tableName string + score int32 + ) + score = difficulty*10000 + (10000 - costTime) + tableName = this.TableName + strconv.Itoa(int(boosID)) + menbers = &redis.Z{Score: float64(score), Member: uid} - return nil + if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { + + // dock, err1 := cmd.Result() + // if err1 != nil { + // //this.Errorln(dock, err1) + // } + } + if _, err := pipe.Exec(); err != nil { + //this.Errorln(err) + return + } } diff --git a/modules/viking/model_srank.go b/modules/viking/model_srank.go new file mode 100644 index 000000000..ba019a1c1 --- /dev/null +++ b/modules/viking/model_srank.go @@ -0,0 +1,234 @@ +package viking + +import ( + "context" + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/mgo" + "go_dreamfactory/lego/sys/redis/pipe" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" + "go_dreamfactory/sys/db" + "go_dreamfactory/utils" + "strconv" + + "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" +) + +type ModelSRank struct { + modules.MCompModel + moduleViking *Viking +} + +func (this *ModelSRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = comm.TableVikingSRank + err = this.MCompModel.Init(service, module, comp, options) + this.moduleViking = module.(*Viking) + //创建uid索引 + this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ + Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, + }) + return +} + +func (this *ModelSRank) queryPlayers(uIds []string, conn_ *db.DBConn) (result []*pb.DBVSeasonRecord, err error) { + result = make([]*pb.DBVSeasonRecord, 0) + model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) + if _, err = model.Gets(uIds, &result); err != nil && err != mgo.MongodbNil { + //this.module.Errorln(err) + return + } + return +} +func (this *ModelSRank) CheckCurSeasonData() (bLocal bool, endSeasonTime int64) { + var subTime int64 + var oneSeason int64 + openTime := this.moduleViking.service.GetOpentime().Unix() + // 获取第一个赛季结束的时间 + oneSeason = utils.GetTodayZeroTime(openTime) //+ int64((6-d)*3600*24) + + var c int32 + if Continued%Cycle == 0 { + c = Continued / Cycle + } else { + c = Continued/Cycle + 1 + } + + if configure.Now().Unix() > oneSeason { + subTime = configure.Now().Unix() - oneSeason + subTime = subTime/(14*3600*24) + 1 + } + // 只需判断当前时间是否大于第c个赛季即可 + endSeasonTime = oneSeason + endSeasonTime += 14 * 3600 * 24 * int64(c) + if endSeasonTime <= configure.Now().Unix() { + endSeasonTime = oneSeason + subTime*14*3600*24 + return false, endSeasonTime + } + endSeasonTime = oneSeason + subTime*14*3600*24 + return true, endSeasonTime +} + +// 检查上一个赛季实在本服还是在跨服 +func (this *ModelSRank) CheckPreSeasonData() (bLocal bool) { + openTime := this.moduleViking.service.GetOpentime().Unix() + // 获取第一个赛季结束的时间 + endSeasonTime := utils.GetTodayZeroTime(openTime) //+ int64((6-d)*3600*24) + + var c int32 + if Continued%Cycle == 0 { + c = Continued / Cycle + } else { + c = Continued/Cycle + 1 + } + + // 只需判断当前时间是否大于第c个赛季即可 + endSeasonTime += 3600 * 24 * int64(Cycle*c) + if endSeasonTime <= configure.Now().Unix()-int64(Cycle*3600*24) { + return false + } + return true +} + +// 记录数据存在跨服 +func (this *ModelSRank) CheckSeasonRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, huihe int32) { + var ( + conn_ *db.DBConn + err error + bcross bool + record *pb.DBVSeasonRecord + update map[string]interface{} + ) + update = make(map[string]interface{}, 0) + bcross, _ = this.CheckCurSeasonData() + + if bcross { + conn_, err = db.Local() // 获取跨服数据库对象 + if err != nil { + return + } + } else { //数据记录在本服 + conn_, err = db.Cross() + if err != nil { + return + } + } + + user, err := this.moduleViking.ModuleUser.GetUser(uid) + if err != nil { + return + } + model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) + + // 写入排行榜 + record = &pb.DBVSeasonRecord{ + Id: "", + Uinfo: &pb.BaseUserInfo{}, + Data: map[int32]*pb.HuiheData{}, + Line: &pb.LineData{}, + } + if err = model.Get(uid, record); err == mgo.MongodbNil { + record.Id = primitive.NewObjectID().Hex() + record.Uid = uid + record.Data = make(map[int32]*pb.HuiheData, 0) + record.Uinfo = &pb.BaseUserInfo{ + Uid: uid, + Sid: user.Sid, + Name: user.Name, + Gender: user.Gender, + Skin: user.CurSkin, + Aframe: user.Curaframe, + Title: user.Curtitle, + Lv: user.Lv, + } + record.Line = &pb.LineData{ + Leadpos: leadpos, + Line: szLine, + } + tmp := make(map[int32]int32, 0) + tmp[difficulty] = huihe + + if record.Data[boosID] == nil { + record.Data[boosID] = &pb.HuiheData{ + Huihe: tmp, + Maxnandu: difficulty, + } + } else { + if record.Data[boosID].Maxnandu < difficulty { + record.Data[boosID].Maxnandu = difficulty + } + } + + model.Add(uid, record) + } else if err == nil { + + record.Uinfo = &pb.BaseUserInfo{ + Uid: uid, + Sid: user.Sid, + Name: user.Name, + Gender: user.Gender, + Skin: user.CurSkin, + Aframe: user.Curaframe, + Title: user.Curtitle, + Lv: user.Lv, + } + update["uinfo"] = record.Uinfo + if record.Data[boosID] == nil { + record.Data[boosID].Huihe = make(map[int32]int32, 0) + } + if record.Data[boosID].Maxnandu < difficulty { + record.Data[boosID].Maxnandu = difficulty + } else { + if record.Data[boosID].Huihe[difficulty] > huihe { // 不是新记录不写 + return + } + } + record.Data[boosID].Huihe[difficulty] = huihe + update["data"] = record.Data + model.Change(uid, update) + } + + var ( + pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) + menbers *redis.Z + tableName string + score int32 + ) + score = difficulty*10000 + huihe + tableName = this.TableName + strconv.Itoa(int(boosID)) + menbers = &redis.Z{Score: float64(score), Member: uid} + + if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { + + // dock, err1 := cmd.Result() + // if err1 != nil { + // //this.Errorln(dock, err1) + // } + } + if _, err := pipe.Exec(); err != nil { + //this.Errorln(err) + return + } +} + +// 获取排行榜前50的用户名单 +func (this *ModelSRank) querySRankUser(bossid int, conn_ *db.DBConn) (ranks []string, err error) { + var ( + result []string + ) + + tableName := this.TableName + strconv.Itoa(int(bossid)) + if result, err = conn_.Redis.ZRevRange(tableName, 0, 50).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 +} diff --git a/modules/viking/module.go b/modules/viking/module.go index 141ee314a..a07956d65 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -6,22 +6,14 @@ package viking import ( - "context" "go_dreamfactory/comm" "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" - "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/utils" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" - "go_dreamfactory/sys/db" - "math" - "strconv" - - "github.com/go-redis/redis/v8" - "go.mongodb.org/mongo-driver/bson/primitive" ) type Viking struct { @@ -32,6 +24,7 @@ type Viking struct { modulerank *ModelRank battle comm.IBattle service base.IRPCXService + modelsrank *ModelSRank } const ( @@ -60,6 +53,7 @@ func (this *Viking) OnInstallComp() { this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.modelViking = this.RegisterComp(new(modelViking)).(*modelViking) this.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank) + this.modelsrank = this.RegisterComp(new(ModelSRank)).(*ModelSRank) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } @@ -90,112 +84,24 @@ func (this *Viking) Start() (err error) { } func (this *Viking) CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank) { - list, err := this.modelViking.getVikingList(uid) - if err == nil { - for k := range list.Boss { + + if d := this.modulerank.getVikingRank(uid); d.Id != "" { + for k, v := range d.Data { if k <= 3 { - _d := this.modulerank.getVikingRankListByBossType(uid, k) - if _d != nil { - data = append(data, _d) - } + + data = append(data, &pb.DBVikingRank{ + Uinfo: d.Uinfo, + Line: d.Line, + Difficulty: v.Maxnandu, + Bosstype: k, + Costtime: v.Costime[v.Maxnandu], + }) } } } return } -// 记录数据存在跨服 -func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport) { - conn_, err := db.Cross() // 获取跨服数据库对象 - if err != nil { - return - } - userinfo, err := this.ModuleUser.GetUser(uid) - if err != nil { - return - } - model := db.NewDBModelByExpired(comm.TableVikingRank, conn_) - - costTime := report.Costtime - szLine := make([]*pb.LineUp, len(report.Info.Redflist[0].Team)) - Leadpos := 0 - if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { - costTime = report.Costtime - Leadpos = int(report.Info.Redflist[0].Leadpos) - for i, v := range report.Info.Redflist[0].Team { - if v != nil { - szLine[i] = &pb.LineUp{ - Cid: v.HeroID, - Star: v.Star, - Lv: v.Lv, - } - } - } - } - // 写入排行榜 - objID := "" - bFind := false - ranks := make([]*pb.DBVikingRank, 0) - model.GetList(uid, &ranks) - for _, v := range ranks { - if v.Bosstype == boosID { - mapRankData := make(map[string]interface{}, 0) - mapRankData["difficulty"] = difficulty - mapRankData["bosstype"] = boosID - mapRankData["Leadpos"] = Leadpos - mapRankData["line"] = szLine - mapRankData["costTime"] = costTime - - model.ChangeList(uid, v.Id, mapRankData) - objID = v.Id - bFind = true - break - } - } - if !bFind { - - new := &pb.DBVikingRank{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Difficulty: difficulty, - Bosstype: boosID, - Nickname: userinfo.Name, - Skin: userinfo.CurSkin, - Lv: userinfo.Lv, - Leadpos: int32(Leadpos), - Line: szLine, - CostTime: costTime, - Sex: userinfo.Gender, - Title: userinfo.Curtitle, - } - objID = new.Id - model.AddList(uid, new.Id, new) - } - - var ( - pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) - menbers *redis.Z - tableName string - score int64 - ) - score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime) - tableName = "vikingRank" + strconv.Itoa(int(boosID)) - strKey := "vikingrank:" + uid + "-" + objID // 自定义key - menbers = &redis.Z{Score: float64(score), Member: strKey} - - if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { - - dock, err1 := cmd.Result() - if err1 != nil { - this.Errorln(dock, err1) - } - } - if _, err := pipe.Exec(); err != nil { - this.Errorln(err) - return - } -} - //红点查询 func (this *Viking) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) { reddot = make(map[comm.ReddotType]*pb.ReddotItem) @@ -295,121 +201,3 @@ func (this *Viking) CheckPreSeasonData() (bLocal bool) { } return true } - -// 记录数据存在跨服 -func (this *Viking) CheckSeasonRank(uid string, boosID int32, difficulty int32, leadpos int32, szLine []*pb.LineUp, huihe int32) { - var ( - conn_ *db.DBConn - err error - bcross bool - ) - bcross, _ = this.CheckCurSeasonData() - if bcross { - conn_, err = db.Local() // 获取跨服数据库对象 - if err != nil { - return - } - } else { //数据记录在本服 - conn_, err = db.Cross() - if err != nil { - return - } - } - - userinfo, err := this.ModuleUser.GetUser(uid) - if err != nil { - return - } - model := db.NewDBModelByExpired(comm.TableVikingSRank, conn_) - - // 写入排行榜 - objID := "" - bFind := false - ranks := make([]*pb.DBVSeasonRank, 0) - model.GetList(uid, &ranks) - for _, v := range ranks { - if v.Bosstype == boosID && v.Difficulty <= difficulty { - if v.Difficulty == difficulty { // 难度相等 则回合数少则更新 - if v.Huihe != 0 && v.Huihe <= huihe { - break - } - } - mapRankData := make(map[string]interface{}, 0) - mapRankData["difficulty"] = difficulty - mapRankData["bosstype"] = boosID - mapRankData["Leadpos"] = leadpos - mapRankData["line"] = szLine - mapRankData["huihe"] = huihe - - model.ChangeList(uid, v.Id, mapRankData) - objID = v.Id - bFind = true - break - } - } - if !bFind { - new := &pb.DBVSeasonRank{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Difficulty: difficulty, - Bosstype: boosID, - Nickname: userinfo.Name, - Skin: userinfo.CurSkin, - Lv: userinfo.Lv, - Leadpos: leadpos, - Line: szLine, - Huihe: huihe, - Sid: userinfo.Sid, - Sex: userinfo.Gender, - Title: userinfo.Curtitle, - } - objID = new.Id - model.AddList(uid, new.Id, new) - } - - var ( - pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) - menbers *redis.Z - tableName string - score int32 - ) - score = difficulty<<16 + huihe - tableName = "vSeasonRank" + strconv.Itoa(int(boosID)) - strKey := "vikingsrank:" + uid + "-" + objID // 自定义key - menbers = &redis.Z{Score: float64(score), Member: strKey} - - if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { - - dock, err1 := cmd.Result() - if err1 != nil { - this.Errorln(dock, err1) - } - } - if _, err := pipe.Exec(); err != nil { - this.Errorln(err) - return - } - - // 以下是测试 - - // var ( - // szRank []*pb.DBVSeasonRank - // rd *redis.StringSliceCmd - // ) - // //dbModel := db.NewDBModel(comm.TableVikingSRank, 0, conn_) - - // pipe = conn_.Redis.RedisPipe(context.TODO()) - // rd = pipe.ZRevRange("vSeasonRank"+strconv.Itoa(int(boosID)), 0, comm.MaxRankList) - - // if _, err := pipe.Exec(); err != nil { - // this.Errorln(err) - // return - // } - // _dataList := rd.Val() - // for _, v := range _dataList { - // result := &pb.DBVSeasonRank{} - // if err := model.Redis.HGetAll(v, result); err == nil { - // szRank = append(szRank, result) - // } - // } -} diff --git a/pb/friend_db.pb.go b/pb/friend_db.pb.go index 69923c441..ca971dbc9 100644 --- a/pb/friend_db.pb.go +++ b/pb/friend_db.pb.go @@ -41,7 +41,7 @@ type DBFriend struct { Record []*AssistRecord `protobuf:"bytes,14,rep,name=record,proto3" json:"record" bson:"record"` // 助战记录 Weapplyids []string `protobuf:"bytes,15,rep,name=weapplyids,proto3" json:"weapplyids" bson:"weapplyids"` //我申请的用户ID CleanTime int64 `protobuf:"varint,16,opt,name=cleanTime,proto3" json:"cleanTime" bson:"cleanTime"` //清理申请列表时间 - RefreshNum int32 `protobuf:"varint,17,opt,name=refreshNum,proto3" json:"refreshNum"` // 每日刷新次数 + RefreshNum int32 `protobuf:"varint,17,opt,name=refreshNum,proto3" json:"refreshNum" bson:"refreshNum"` // 每日刷新次数 } func (x *DBFriend) Reset() { diff --git a/pb/viking_db.pb.go b/pb/viking_db.pb.go index 4d3a0aa9c..ef37ce07b 100644 --- a/pb/viking_db.pb.go +++ b/pb/viking_db.pb.go @@ -109,29 +109,101 @@ func (x *DBViking) GetRound() map[int32]int32 { } // 维京远征排行榜 +type DBVikingRecord struct { + state protoimpl.MessageState + 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 + Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Data map[int32]*ScoreData `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 类型 + Line *LineData `protobuf:"bytes,5,opt,name=line,proto3" json:"line"` // 阵容信息 +} + +func (x *DBVikingRecord) Reset() { + *x = DBVikingRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_viking_viking_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBVikingRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBVikingRecord) ProtoMessage() {} + +func (x *DBVikingRecord) ProtoReflect() protoreflect.Message { + mi := &file_viking_viking_db_proto_msgTypes[1] + 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 DBVikingRecord.ProtoReflect.Descriptor instead. +func (*DBVikingRecord) Descriptor() ([]byte, []int) { + return file_viking_viking_db_proto_rawDescGZIP(), []int{1} +} + +func (x *DBVikingRecord) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBVikingRecord) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBVikingRecord) GetUinfo() *BaseUserInfo { + if x != nil { + return x.Uinfo + } + return nil +} + +func (x *DBVikingRecord) GetData() map[int32]*ScoreData { + if x != nil { + return x.Data + } + return nil +} + +func (x *DBVikingRecord) GetLine() *LineData { + if x != nil { + return x.Line + } + return nil +} + type DBVikingRank struct { state protoimpl.MessageState 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 - Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度 - Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 - Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称 - Skin string `protobuf:"bytes,6,opt,name=skin,proto3" json:"skin"` // 玩家头像 - 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 - Sex int32 `protobuf:"varint,11,opt,name=sex,proto3" json:"sex"` //性别 - Title string `protobuf:"bytes,12,opt,name=title,proto3" json:"title"` // 称号 + Uinfo *BaseUserInfo `protobuf:"bytes,21,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Line *LineData `protobuf:"bytes,2,opt,name=line,proto3" json:"line"` // 阵容信息 + Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度 + Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 + Costtime int32 `protobuf:"varint,5,opt,name=costtime,proto3" json:"costtime"` // 耗时 } func (x *DBVikingRank) Reset() { *x = DBVikingRank{} if protoimpl.UnsafeEnabled { - mi := &file_viking_viking_db_proto_msgTypes[1] + mi := &file_viking_viking_db_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -144,7 +216,7 @@ func (x *DBVikingRank) String() string { func (*DBVikingRank) ProtoMessage() {} func (x *DBVikingRank) ProtoReflect() protoreflect.Message { - mi := &file_viking_viking_db_proto_msgTypes[1] + mi := &file_viking_viking_db_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -157,21 +229,21 @@ func (x *DBVikingRank) ProtoReflect() protoreflect.Message { // Deprecated: Use DBVikingRank.ProtoReflect.Descriptor instead. func (*DBVikingRank) Descriptor() ([]byte, []int) { - return file_viking_viking_db_proto_rawDescGZIP(), []int{1} + return file_viking_viking_db_proto_rawDescGZIP(), []int{2} } -func (x *DBVikingRank) GetId() string { +func (x *DBVikingRank) GetUinfo() *BaseUserInfo { if x != nil { - return x.Id + return x.Uinfo } - return "" + return nil } -func (x *DBVikingRank) GetUid() string { +func (x *DBVikingRank) GetLine() *LineData { if x != nil { - return x.Uid + return x.Line } - return "" + return nil } func (x *DBVikingRank) GetDifficulty() int32 { @@ -188,100 +260,39 @@ func (x *DBVikingRank) GetBosstype() int32 { return 0 } -func (x *DBVikingRank) GetNickname() string { +func (x *DBVikingRank) GetCosttime() int32 { if x != nil { - return x.Nickname - } - return "" -} - -func (x *DBVikingRank) GetSkin() string { - if x != nil { - return x.Skin - } - return "" -} - -func (x *DBVikingRank) GetLv() int32 { - if x != nil { - return x.Lv + return x.Costtime } return 0 } -func (x *DBVikingRank) GetLeadpos() int32 { - if x != nil { - return x.Leadpos - } - return 0 -} - -func (x *DBVikingRank) GetLine() []*LineUp { - if x != nil { - return x.Line - } - return nil -} - -func (x *DBVikingRank) GetCostTime() int32 { - if x != nil { - return x.CostTime - } - return 0 -} - -func (x *DBVikingRank) GetSex() int32 { - if x != nil { - return x.Sex - } - return 0 -} - -func (x *DBVikingRank) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -// 装备副本DBVSeasonRank -type DBVSeasonRank struct { +type ScoreData struct { state protoimpl.MessageState 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 - Difficulty int32 `protobuf:"varint,3,opt,name=difficulty,proto3" json:"difficulty"` // 难度 - Bosstype int32 `protobuf:"varint,4,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 - Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称 - Skin string `protobuf:"bytes,6,opt,name=skin,proto3" json:"skin"` // 玩家头像 - 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"` // 阵容数据 - Huihe int32 `protobuf:"varint,10,opt,name=huihe,proto3" json:"huihe"` // 平均回合数 建议*10 - Sid string `protobuf:"bytes,11,opt,name=sid,proto3" json:"sid" bson:"sid"` //区服id - Sex int32 `protobuf:"varint,12,opt,name=sex,proto3" json:"sex"` //性别 - Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` // 称号 + Costime map[int32]int32 `protobuf:"bytes,1,rep,name=costime,proto3" json:"costime" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 难度 value 战斗时间 + Maxnandu int32 `protobuf:"varint,2,opt,name=maxnandu,proto3" json:"maxnandu"` // 最高难度 } -func (x *DBVSeasonRank) Reset() { - *x = DBVSeasonRank{} +func (x *ScoreData) Reset() { + *x = ScoreData{} if protoimpl.UnsafeEnabled { - mi := &file_viking_viking_db_proto_msgTypes[2] + mi := &file_viking_viking_db_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DBVSeasonRank) String() string { +func (x *ScoreData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DBVSeasonRank) ProtoMessage() {} +func (*ScoreData) ProtoMessage() {} -func (x *DBVSeasonRank) ProtoReflect() protoreflect.Message { - mi := &file_viking_viking_db_proto_msgTypes[2] +func (x *ScoreData) ProtoReflect() protoreflect.Message { + mi := &file_viking_viking_db_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -292,176 +303,353 @@ func (x *DBVSeasonRank) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DBVSeasonRank.ProtoReflect.Descriptor instead. -func (*DBVSeasonRank) Descriptor() ([]byte, []int) { - return file_viking_viking_db_proto_rawDescGZIP(), []int{2} +// Deprecated: Use ScoreData.ProtoReflect.Descriptor instead. +func (*ScoreData) Descriptor() ([]byte, []int) { + return file_viking_viking_db_proto_rawDescGZIP(), []int{3} } -func (x *DBVSeasonRank) GetId() string { +func (x *ScoreData) GetCostime() map[int32]int32 { + if x != nil { + return x.Costime + } + return nil +} + +func (x *ScoreData) GetMaxnandu() int32 { + if x != nil { + return x.Maxnandu + } + return 0 +} + +type DBVSeasonRecord struct { + state protoimpl.MessageState + 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 + Uinfo *BaseUserInfo `protobuf:"bytes,3,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Data map[int32]*HuiheData `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 类型 + Line *LineData `protobuf:"bytes,5,opt,name=line,proto3" json:"line"` // 阵容信息 +} + +func (x *DBVSeasonRecord) Reset() { + *x = DBVSeasonRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_viking_viking_db_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBVSeasonRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBVSeasonRecord) ProtoMessage() {} + +func (x *DBVSeasonRecord) ProtoReflect() protoreflect.Message { + mi := &file_viking_viking_db_proto_msgTypes[4] + 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 DBVSeasonRecord.ProtoReflect.Descriptor instead. +func (*DBVSeasonRecord) Descriptor() ([]byte, []int) { + return file_viking_viking_db_proto_rawDescGZIP(), []int{4} +} + +func (x *DBVSeasonRecord) GetId() string { if x != nil { return x.Id } return "" } -func (x *DBVSeasonRank) GetUid() string { +func (x *DBVSeasonRecord) GetUid() string { if x != nil { return x.Uid } return "" } -func (x *DBVSeasonRank) GetDifficulty() int32 { +func (x *DBVSeasonRecord) GetUinfo() *BaseUserInfo { if x != nil { - return x.Difficulty + return x.Uinfo } - return 0 + return nil } -func (x *DBVSeasonRank) GetBosstype() int32 { +func (x *DBVSeasonRecord) GetData() map[int32]*HuiheData { if x != nil { - return x.Bosstype + return x.Data } - return 0 + return nil } -func (x *DBVSeasonRank) GetNickname() string { - if x != nil { - return x.Nickname - } - return "" -} - -func (x *DBVSeasonRank) GetSkin() string { - if x != nil { - return x.Skin - } - return "" -} - -func (x *DBVSeasonRank) GetLv() int32 { - if x != nil { - return x.Lv - } - return 0 -} - -func (x *DBVSeasonRank) GetLeadpos() int32 { - if x != nil { - return x.Leadpos - } - return 0 -} - -func (x *DBVSeasonRank) GetLine() []*LineUp { +func (x *DBVSeasonRecord) GetLine() *LineData { if x != nil { return x.Line } return nil } -func (x *DBVSeasonRank) GetHuihe() int32 { +type HuiheData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Huihe map[int32]int32 `protobuf:"bytes,1,rep,name=huihe,proto3" json:"huihe" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 难度 value 平均回合数 建议*10 + Maxnandu int32 `protobuf:"varint,2,opt,name=maxnandu,proto3" json:"maxnandu"` // 最高难度 +} + +func (x *HuiheData) Reset() { + *x = HuiheData{} + if protoimpl.UnsafeEnabled { + mi := &file_viking_viking_db_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HuiheData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HuiheData) ProtoMessage() {} + +func (x *HuiheData) ProtoReflect() protoreflect.Message { + mi := &file_viking_viking_db_proto_msgTypes[5] + 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 HuiheData.ProtoReflect.Descriptor instead. +func (*HuiheData) Descriptor() ([]byte, []int) { + return file_viking_viking_db_proto_rawDescGZIP(), []int{5} +} + +func (x *HuiheData) GetHuihe() map[int32]int32 { + if x != nil { + return x.Huihe + } + return nil +} + +func (x *HuiheData) GetMaxnandu() int32 { + if x != nil { + return x.Maxnandu + } + return 0 +} + +type DBVikingSRank struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uinfo *BaseUserInfo `protobuf:"bytes,2,opt,name=uinfo,proto3" json:"uinfo"` //用户基础 + Line *LineData `protobuf:"bytes,3,opt,name=line,proto3" json:"line"` // 阵容信息 + Difficulty int32 `protobuf:"varint,4,opt,name=difficulty,proto3" json:"difficulty"` // 难度 + Bosstype int32 `protobuf:"varint,5,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 + Huihe int32 `protobuf:"varint,6,opt,name=huihe,proto3" json:"huihe"` // 平均回合数 建议*10 +} + +func (x *DBVikingSRank) Reset() { + *x = DBVikingSRank{} + if protoimpl.UnsafeEnabled { + mi := &file_viking_viking_db_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBVikingSRank) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBVikingSRank) ProtoMessage() {} + +func (x *DBVikingSRank) ProtoReflect() protoreflect.Message { + mi := &file_viking_viking_db_proto_msgTypes[6] + 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 DBVikingSRank.ProtoReflect.Descriptor instead. +func (*DBVikingSRank) Descriptor() ([]byte, []int) { + return file_viking_viking_db_proto_rawDescGZIP(), []int{6} +} + +func (x *DBVikingSRank) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBVikingSRank) GetUinfo() *BaseUserInfo { + if x != nil { + return x.Uinfo + } + return nil +} + +func (x *DBVikingSRank) GetLine() *LineData { + if x != nil { + return x.Line + } + return nil +} + +func (x *DBVikingSRank) GetDifficulty() int32 { + if x != nil { + return x.Difficulty + } + return 0 +} + +func (x *DBVikingSRank) GetBosstype() int32 { + if x != nil { + return x.Bosstype + } + return 0 +} + +func (x *DBVikingSRank) GetHuihe() int32 { if x != nil { return x.Huihe } return 0 } -func (x *DBVSeasonRank) GetSid() string { - if x != nil { - return x.Sid - } - return "" -} - -func (x *DBVSeasonRank) GetSex() int32 { - if x != nil { - return x.Sex - } - return 0 -} - -func (x *DBVSeasonRank) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - var File_viking_viking_db_proto protoreflect.FileDescriptor var file_viking_viking_db_proto_rawDesc = []byte{ 0x0a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f, - 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xc0, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 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, 0x27, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73, - 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, - 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56, - 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, - 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a, - 0x09, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x2f, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xc0, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 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, + 0x27, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x56, + 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x02, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x56, 0x69, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x70, 0x73, + 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a, 0x09, + 0x42, 0x6f, 0x73, 0x73, 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, 0x1a, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, + 0x65, 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, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x52, 0x6f, 0x75, + 0x6e, 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, 0xea, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, + 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, 0x2d, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, + 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x04, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, 0x6e, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 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, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xaa, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 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, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, + 0x65, 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, 0x96, 0x01, + 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x07, 0x63, + 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, + 0x73, 0x74, 0x69, 0x6d, 0x65, 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, 0x1a, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, - 0x6d, 0x65, 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, 0x1a, 0x35, 0x0a, 0x07, 0x50, 0x73, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x52, 0x6f, - 0x75, 0x6e, 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, 0xa7, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, - 0x67, 0x52, 0x61, 0x6e, 0x6b, 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, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, - 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 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, 0x73, 0x6b, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, - 0x6b, 0x69, 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, 0x73, 0x65, 0x78, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xb4, - 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, - 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, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, - 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 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, 0x73, 0x6b, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6b, 0x69, 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, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, - 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xec, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x56, 0x53, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 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, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x09, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 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, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x48, 0x75, 0x69, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, + 0x75, 0x69, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x6e, 0x61, 0x6e, 0x64, 0x75, 0x1a, 0x38, 0x0a, 0x0a, + 0x48, 0x75, 0x69, 0x68, 0x65, 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, 0xb5, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x56, 0x69, 0x6b, + 0x69, 0x6e, 0x67, 0x53, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x69, + 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x75, 0x69, 0x68, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x75, 0x69, 0x68, 0x65, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -476,29 +664,50 @@ func file_viking_viking_db_proto_rawDescGZIP() []byte { return file_viking_viking_db_proto_rawDescData } -var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_viking_viking_db_proto_goTypes = []interface{}{ - (*DBViking)(nil), // 0: DBViking - (*DBVikingRank)(nil), // 1: DBVikingRank - (*DBVSeasonRank)(nil), // 2: DBVSeasonRank - nil, // 3: DBViking.BossEntry - nil, // 4: DBViking.BossTimeEntry - nil, // 5: DBViking.PsEntry - nil, // 6: DBViking.RoundEntry - (*LineUp)(nil), // 7: LineUp + (*DBViking)(nil), // 0: DBViking + (*DBVikingRecord)(nil), // 1: DBVikingRecord + (*DBVikingRank)(nil), // 2: DBVikingRank + (*ScoreData)(nil), // 3: ScoreData + (*DBVSeasonRecord)(nil), // 4: DBVSeasonRecord + (*HuiheData)(nil), // 5: HuiheData + (*DBVikingSRank)(nil), // 6: DBVikingSRank + nil, // 7: DBViking.BossEntry + nil, // 8: DBViking.BossTimeEntry + nil, // 9: DBViking.PsEntry + nil, // 10: DBViking.RoundEntry + nil, // 11: DBVikingRecord.DataEntry + nil, // 12: ScoreData.CostimeEntry + nil, // 13: DBVSeasonRecord.DataEntry + nil, // 14: HuiheData.HuiheEntry + (*BaseUserInfo)(nil), // 15: BaseUserInfo + (*LineData)(nil), // 16: LineData } var file_viking_viking_db_proto_depIdxs = []int32{ - 3, // 0: DBViking.boss:type_name -> DBViking.BossEntry - 4, // 1: DBViking.bossTime:type_name -> DBViking.BossTimeEntry - 5, // 2: DBViking.ps:type_name -> DBViking.PsEntry - 6, // 3: DBViking.round:type_name -> DBViking.RoundEntry - 7, // 4: DBVikingRank.line:type_name -> LineUp - 7, // 5: DBVSeasonRank.line:type_name -> LineUp - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 7, // 0: DBViking.boss:type_name -> DBViking.BossEntry + 8, // 1: DBViking.bossTime:type_name -> DBViking.BossTimeEntry + 9, // 2: DBViking.ps:type_name -> DBViking.PsEntry + 10, // 3: DBViking.round:type_name -> DBViking.RoundEntry + 15, // 4: DBVikingRecord.uinfo:type_name -> BaseUserInfo + 11, // 5: DBVikingRecord.data:type_name -> DBVikingRecord.DataEntry + 16, // 6: DBVikingRecord.line:type_name -> LineData + 15, // 7: DBVikingRank.uinfo:type_name -> BaseUserInfo + 16, // 8: DBVikingRank.line:type_name -> LineData + 12, // 9: ScoreData.costime:type_name -> ScoreData.CostimeEntry + 15, // 10: DBVSeasonRecord.uinfo:type_name -> BaseUserInfo + 13, // 11: DBVSeasonRecord.data:type_name -> DBVSeasonRecord.DataEntry + 16, // 12: DBVSeasonRecord.line:type_name -> LineData + 14, // 13: HuiheData.huihe:type_name -> HuiheData.HuiheEntry + 15, // 14: DBVikingSRank.uinfo:type_name -> BaseUserInfo + 16, // 15: DBVikingSRank.line:type_name -> LineData + 3, // 16: DBVikingRecord.DataEntry.value:type_name -> ScoreData + 5, // 17: DBVSeasonRecord.DataEntry.value:type_name -> HuiheData + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_viking_viking_db_proto_init() } @@ -506,7 +715,8 @@ func file_viking_viking_db_proto_init() { if File_viking_viking_db_proto != nil { return } - file_battle_battle_msg_proto_init() + file_comm_proto_init() + file_integral_integral_db_proto_init() if !protoimpl.UnsafeEnabled { file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DBViking); i { @@ -521,7 +731,7 @@ func file_viking_viking_db_proto_init() { } } file_viking_viking_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBVikingRank); i { + switch v := v.(*DBVikingRecord); i { case 0: return &v.state case 1: @@ -533,7 +743,55 @@ func file_viking_viking_db_proto_init() { } } file_viking_viking_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBVSeasonRank); i { + switch v := v.(*DBVikingRank); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_viking_viking_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScoreData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_viking_viking_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBVSeasonRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_viking_viking_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HuiheData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_viking_viking_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBVikingSRank); i { case 0: return &v.state case 1: @@ -551,7 +809,7 @@ func file_viking_viking_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_viking_viking_db_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/viking_msg.pb.go b/pb/viking_msg.pb.go index 8382fe8b8..b6c147d43 100644 --- a/pb/viking_msg.pb.go +++ b/pb/viking_msg.pb.go @@ -493,7 +493,6 @@ type VikingRankListReq struct { unknownFields protoimpl.UnknownFields BoosType int32 `protobuf:"varint,1,opt,name=boosType,proto3" json:"boosType"` // boss 类型 - Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // 是否是好友榜 } func (x *VikingRankListReq) Reset() { @@ -535,19 +534,13 @@ func (x *VikingRankListReq) GetBoosType() int32 { return 0 } -func (x *VikingRankListReq) GetFriend() bool { - if x != nil { - return x.Friend - } - return false -} - type VikingRankListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ranks []*DBVikingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 + Ranks []*DBVikingRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 + Franks []*DBVikingRank `protobuf:"bytes,2,rep,name=franks,proto3" json:"franks"` // 好友排行数据 无序的 } func (x *VikingRankListResp) Reset() { @@ -589,6 +582,13 @@ func (x *VikingRankListResp) GetRanks() []*DBVikingRank { return nil } +func (x *VikingRankListResp) GetFranks() []*DBVikingRank { + if x != nil { + return x.Franks + } + return nil +} + // 排行榜 type VikingSeasonRankReq struct { state protoimpl.MessageState @@ -642,7 +642,7 @@ type VikingSeasonRankResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ranks []*DBVSeasonRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 + Ranks []*DBVikingSRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 Etime int64 `protobuf:"varint,2,opt,name=etime,proto3" json:"etime"` } @@ -678,7 +678,7 @@ func (*VikingSeasonRankResp) Descriptor() ([]byte, []int) { return file_viking_viking_msg_proto_rawDescGZIP(), []int{11} } -func (x *VikingSeasonRankResp) GetRanks() []*DBVSeasonRank { +func (x *VikingSeasonRankResp) GetRanks() []*DBVikingSRank { if x != nil { return x.Ranks } @@ -751,25 +751,25 @@ var file_viking_viking_msg_proto_rawDesc = []byte{ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e, 0x0a, 0x0d, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x47, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, - 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 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, - 0x39, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, - 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x56, 0x69, - 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, - 0x14, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x56, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, + 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e, + 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, + 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, + 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, + 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, + 0x6b, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x56, 0x69, 0x6b, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x14, + 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x52, + 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 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 ( @@ -805,7 +805,7 @@ var file_viking_viking_msg_proto_goTypes = []interface{}{ (*BattleReport)(nil), // 16: BattleReport (*UserAtno)(nil), // 17: UserAtno (*DBVikingRank)(nil), // 18: DBVikingRank - (*DBVSeasonRank)(nil), // 19: DBVSeasonRank + (*DBVikingSRank)(nil), // 19: DBVikingSRank } var file_viking_viking_msg_proto_depIdxs = []int32{ 13, // 0: VikingGetListResp.data:type_name -> DBViking @@ -817,12 +817,13 @@ var file_viking_viking_msg_proto_depIdxs = []int32{ 12, // 6: VikingChallengeOverResp.heroexp:type_name -> VikingChallengeOverResp.HeroexpEntry 13, // 7: VikingBuyResp.data:type_name -> DBViking 18, // 8: VikingRankListResp.ranks:type_name -> DBVikingRank - 19, // 9: VikingSeasonRankResp.ranks:type_name -> DBVSeasonRank - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 18, // 9: VikingRankListResp.franks:type_name -> DBVikingRank + 19, // 10: VikingSeasonRankResp.ranks:type_name -> DBVikingSRank + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_viking_viking_msg_proto_init() }