From f8e1f5fa843e13c4e468905448a1f5be2c20016a Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Mon, 9 Jan 2023 19:39:17 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=8C=91=E6=88=98?= =?UTF-8?q?=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/enchant/api_buy.go | 117 +------------------------ modules/enchant/api_challenge.go | 24 ++---- modules/enchant/api_challengeover.go | 35 ++------ modules/enchant/api_getlist.go | 84 ++---------------- modules/hunting/api_buy.go | 119 +------------------------- modules/hunting/api_getlist.go | 83 ++---------------- modules/timer/season.go | 6 +- modules/viking/api_buy.go | 122 +-------------------------- modules/viking/api_getlist.go | 83 +----------------- modules/viking/module.go | 11 --- 10 files changed, 43 insertions(+), 641 deletions(-) diff --git a/modules/enchant/api_buy.go b/modules/enchant/api_buy.go index f7d956e63..e13129d37 100644 --- a/modules/enchant/api_buy.go +++ b/modules/enchant/api_buy.go @@ -3,9 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -19,119 +16,9 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.EnchantBuyReq) return } +// 协议废除 走通用购买逻辑 func (this *apiComp) Buy(session comm.IUserSession, req *pb.EnchantBuyReq) (code pb.ErrorCode, data proto.Message) { - var ( - curByCount int32 - costRes *cfg.Gameatn // 门票atn 类型 只取T - mapData map[string]interface{} - szCostRes []*cfg.Gameatn // 购买累计消耗 - curCount int32 // 当前门票数量 - addCount int32 //获得数量 - ) - mapData = make(map[string]interface{}, 0) - code = this.BuyCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - // 校验是不是今天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - } else { - curByCount = list.BuyCount - } - curByCount += req.Count // 当前需要购买的数量 - if this.configure.GetMaxBuyChallengeCount() < curByCount { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes = conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.EnchantbossMax { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.EnchantbossRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.EnchantbossRecovery * 60) - if curCount >= conf.EnchantbossMax { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.EnchantbossMax { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime - - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - code = pb.ErrorCode_EnchantBuyMaxCount - return - } - szCostRes = append(szCostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szCostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - break - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyEnchantData(session.GetUserId(), mapData) - - session.SendMsg(string(this.module.GetType()), EnchantBuyResp, &pb.EnchantBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), EnchantBuyResp, &pb.EnchantBuyResp{}) return } diff --git a/modules/enchant/api_challenge.go b/modules/enchant/api_challenge.go index cac07b4cd..110a1b8f6 100644 --- a/modules/enchant/api_challenge.go +++ b/modules/enchant/api_challenge.go @@ -3,7 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - cfg "go_dreamfactory/sys/configure/structs" "google.golang.org/protobuf/proto" ) @@ -30,26 +29,21 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen code = pb.ErrorCode_PagodaNotFound return } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - code = pb.ErrorCode_EnchantNoChallengeCount - return - } cfgData := this.module.configure.GetEnchantBossConfigData(req.BossType) if cfgData == nil { code = pb.ErrorCode_ConfigNoFound return } + if len(cfgData) <= 0 { + code = pb.ErrorCode_ConfigNoFound + return + } + if code = this.module.CheckRes(session, cfgData[0].PsConsume); code != pb.ErrorCode_Success { + + code = pb.ErrorCode_VikingMaxChallengeCount + return + } _, ok := enchant.Boss[req.BossType] if !ok { // 类型校验 enchant.Boss[req.BossType] = 0 diff --git a/modules/enchant/api_challengeover.go b/modules/enchant/api_challengeover.go index 85db026b8..b6d78e61b 100644 --- a/modules/enchant/api_challengeover.go +++ b/modules/enchant/api_challengeover.go @@ -3,8 +3,6 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" "google.golang.org/protobuf/proto" ) @@ -37,21 +35,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha code = pb.ErrorCode_PagodaNotFound return } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - code = pb.ErrorCode_EnchantNoChallengeCount - return - } cfgEnchant := this.module.configure.GetEnchantBossConfigData(req.BossType) if cfgEnchant == nil { @@ -59,21 +42,21 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha return } - // 校验门票数量够不够 - if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success { - return - } // check code, bWin = this.module.battle.CheckBattleReport(session, req.Report) if code != pb.ErrorCode_Success { return } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - - if amount < conf.EnchantbossMax { // 挑战卷 小于副本最大存储数的时候开始恢复 - enchant.RecoveryTime = configure.Now().Unix() - mapData["recoveryTime"] = enchant.RecoveryTime + if !bWin { // 战斗失败了 直接返回 + if code = this.module.ConsumeRes(session, cfgEnchant[0].PsMg, true); code != pb.ErrorCode_Success { + return + } + session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant}) + return + } + if code = this.module.ConsumeRes(session, cfgEnchant[0].PsConsume, true); code != pb.ErrorCode_Success { + return } if bWin { this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, req.Score) diff --git a/modules/enchant/api_getlist.go b/modules/enchant/api_getlist.go index 25b202d74..907adfac8 100644 --- a/modules/enchant/api_getlist.go +++ b/modules/enchant/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "go.mongodb.org/mongo-driver/bson/primitive" "google.golang.org/protobuf/proto" @@ -19,16 +16,17 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.EnchantGetL } func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) + code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return + } + list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) if mgo.MongodbNil == err { @@ -43,79 +41,11 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListRe } this.module.modelEnchant.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.EnchantbossInitial - atn := conf.EnchantbossCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) - } + } else if err != nil { code = pb.ErrorCode_DBError return } - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - - } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.EnchantbossCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.EnchantbossMax { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.EnchantbossRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.EnchantbossRecovery * 60) - if curCount >= conf.EnchantbossMax { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 - } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyEnchantData(session.GetUserId(), mapData) //修改内存信息 session.SendMsg(string(this.module.GetType()), EnchantGetListResp, &pb.EnchantGetListResp{Data: list}) return diff --git a/modules/hunting/api_buy.go b/modules/hunting/api_buy.go index 0951c91e9..5223b29b7 100644 --- a/modules/hunting/api_buy.go +++ b/modules/hunting/api_buy.go @@ -3,9 +3,6 @@ package hunting import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -20,121 +17,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq) } func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode, data proto.Message) { - var ( - curByCount int32 - costRes *cfg.Gameatn // 门票atn 类型 只取T - mapData map[string]interface{} - szCostRes []*cfg.Gameatn // 购买累计消耗 - curCount int32 // 当前门票数量 - addCount int32 //获得数量 - PrivilegeBuyCount int32 // 特权购买次数 - ) - mapData = make(map[string]interface{}, 0) - code = this.BuyCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - // 校验是不是今天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - } else { - curByCount = list.BuyCount - } - - PrivilegeBuyCount = this.module.ModulePrivilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType4) - curByCount += req.Count // 当前需要购买的数量 - if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount { - code = pb.ErrorCode_HuntingBuyMaxCount - return - } - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes = conf.HuntingCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.HuntingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.HuntingRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.HuntingRecovery * 60) - if curCount >= conf.HuntingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.HuntingNum { - code = pb.ErrorCode_HuntingBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime - - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - // 取最后一条 - _cfg = this.configure.GetLastBuyChallenge() - } - szCostRes = append(szCostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szCostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - break - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) - - session.SendMsg(string(this.module.GetType()), HuntingBuyResp, &pb.HuntingBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), HuntingBuyResp, &pb.HuntingBuyResp{}) return } diff --git a/modules/hunting/api_getlist.go b/modules/hunting/api_getlist.go index 0c96149aa..02b76d834 100644 --- a/modules/hunting/api_getlist.go +++ b/modules/hunting/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "strconv" "go.mongodb.org/mongo-driver/bson/primitive" @@ -20,16 +17,15 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.HuntingGetL } func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) + code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return + } list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) if mgo.MongodbNil == err { list = &pb.DBHunting{ @@ -46,80 +42,13 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe } this.module.modelHunting.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.HuntingNum - atn := conf.HuntingCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) - } + } else if err != nil { code = pb.ErrorCode_DBError return } - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.HuntingCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.HuntingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.HuntingRecovery*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.HuntingRecovery * 60) - if curCount >= conf.HuntingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 - } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) //修改内存信息 session.SendMsg(string(this.module.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list}) return } diff --git a/modules/timer/season.go b/modules/timer/season.go index cc6d76e86..7de8e7d5e 100644 --- a/modules/timer/season.go +++ b/modules/timer/season.go @@ -66,11 +66,11 @@ func (this *SeasonPagoda) Start() (err error) { if db.IsCross() { return } - time.Sleep(time.Second * 1) + //time.Sleep(time.Second * 1) //this.DbTest() conn, err := db.Cross() if err == nil { - this.DbTest() + //this.DbTest() model := db.NewDBModel(comm.TableServerData, 0, conn) _len, err1 := model.DB.CountDocuments(comm.TableServerData, bson.M{}) @@ -274,7 +274,7 @@ func (this *SeasonPagoda) DbTest() { // szRank = append(szRank, v2) // } } - this.module.Debugf("%v", szRank) + //this.module.Debugf("%v", szRank) } } diff --git a/modules/viking/api_buy.go b/modules/viking/api_buy.go index 1cb232bfe..6e235b756 100644 --- a/modules/viking/api_buy.go +++ b/modules/viking/api_buy.go @@ -3,9 +3,6 @@ package viking import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -19,124 +16,9 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.VikingBuyReq) ( return } +// 协议废弃 走通用字段 func (this *apiComp) Buy(session comm.IUserSession, req *pb.VikingBuyReq) (code pb.ErrorCode, data proto.Message) { - var ( - curByCount int32 - costRes *cfg.Gameatn - mapData map[string]interface{} - curCount int32 // 当前门票数量 - szcostRes []*cfg.Gameatn // 购买累计消耗 - addCount int32 //获得数量 - PrivilegeBuyCount int32 // 特权购买次数 - ) - mapData = make(map[string]interface{}, 0) - code = this.BuyCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - list, err := this.module.modelViking.getVikingList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - // 校验是不是今天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - - } else { - curByCount = list.BuyCount - } - PrivilegeBuyCount = this.module.ModulePrivilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType3) - - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes = conf.VikingExpeditionCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - if amount < conf.VikingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.VikingExpeditionRecoveryTime*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.VikingExpeditionRecoveryTime * 60) - if curCount >= conf.VikingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - if curCount-amount > 0 { - addCount = curCount - amount - - } - } else { - list.RecoveryTime = 0 - } - addCount += req.Count - if amount+addCount > conf.VikingNum { - code = pb.ErrorCode_VikingBuyMaxCount - return - } - mapData["recoveryTime"] = list.RecoveryTime // 更新刷新时间 - curByCount += req.Count // 当前需要购买的数量 - - if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount { - code = pb.ErrorCode_VikingBuyMaxCount - return - } - - // 消耗资源整合 - for i := list.BuyCount + 1; i <= curByCount; i++ { - _cfg := this.configure.GetBuyChallengeCount(i) - if _cfg == nil { - // 取最后一条 - _cfg = this.configure.GetLastBuyChallenge() - } - szcostRes = append(szcostRes, _cfg.Need...) - } - sz := make([]*cfg.Gameatn, 0) - for _, v := range szcostRes { - bFound := false - for _, v1 := range sz { - if v.A == v1.A && v.T == v1.T { - v1.N += v.N - bFound = true - } - } - if !bFound { - sz = append(sz, v) - } - } - //消耗 - if code = this.module.ConsumeRes(session, sz, true); code != pb.ErrorCode_Success { - return - } - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - list.BuyCount = curByCount - mapData["buyCount"] = curByCount - code = this.module.ModifyVikingData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), VikingBuyResp, &pb.VikingBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), VikingBuyResp, &pb.VikingBuyResp{}) return } diff --git a/modules/viking/api_getlist.go b/modules/viking/api_getlist.go index 884cd0b9f..3f617ff72 100644 --- a/modules/viking/api_getlist.go +++ b/modules/viking/api_getlist.go @@ -4,9 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" - cfg "go_dreamfactory/sys/configure/structs" - "go_dreamfactory/utils" "strconv" "go.mongodb.org/mongo-driver/bson/primitive" @@ -20,16 +17,14 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.VikingGetLi } func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq) (code pb.ErrorCode, data proto.Message) { - var ( - mapData map[string]interface{} - curCount int32 - ) - mapData = make(map[string]interface{}, 0) code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - + // 刷新挑战卷 + if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { + return + } list, err := this.module.modelViking.getVikingList(session.GetUserId()) if mgo.MongodbNil == err { list = &pb.DBViking{ @@ -46,78 +41,8 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq } this.module.modelViking.Add(session.GetUserId(), list) - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - iCont := conf.VikingNum - atn := conf.VikingExpeditionCos - if iCont > 0 { - res := &cfg.Gameatn{ - A: atn.A, - T: atn.T, - N: iCont, - } - this.module.DispenseRes(session, []*cfg.Gameatn{res}, true) - } } - // 校验 是不是当天 - if !utils.IsToday(list.CTime) { - list.CTime = configure.Now().Unix() - list.BuyCount = 0 - mapData["cTime"] = list.CTime - mapData["buyCount"] = list.BuyCount - - } - // 检查恢复时间 - conf := this.module.configure.GetGlobalConf() - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - costRes := conf.VikingExpeditionCos - if costRes == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - curCount = amount - // 道具上限 - if amount < conf.VikingNum { - if list.RecoveryTime == 0 { - list.RecoveryTime = configure.Now().Unix() - } - for { // 计算恢复时间 - if list.RecoveryTime+int64(conf.VikingExpeditionRecoveryTime*60) <= configure.Now().Unix() { - curCount++ - list.RecoveryTime += int64(conf.VikingExpeditionRecoveryTime * 60) - if curCount >= conf.VikingNum { - list.RecoveryTime = 0 - break - } - } else { - break - } - } - addCount := curCount - amount - if addCount > 0 { - res := &cfg.Gameatn{ - A: "item", - T: costRes.T, - N: addCount, - } - if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success { - return - } - } - } else { - list.RecoveryTime = 0 - } - mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyVikingData(session.GetUserId(), mapData) //修改内存信息 - session.SendMsg(string(this.module.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list}) return } diff --git a/modules/viking/module.go b/modules/viking/module.go index e0c03a43f..98c36a077 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -12,7 +12,6 @@ import ( "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/db" "math" @@ -261,22 +260,12 @@ func (this *Viking) AutoBattleOver(session comm.IUserSession, Report *pb.BattleR if code = this.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success { return } - amount := int32(this.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 viking, err := this.modelViking.getVikingList(session.GetUserId()) if err != nil { code = pb.ErrorCode_VikingBoosType return } - conf := this.configure.GetGlobalConf() - if conf != nil { - if amount < conf.VikingNum && viking.RecoveryTime == 0 { - mapData := make(map[string]interface{}, 0) - viking.RecoveryTime = configure.Now().Unix() - mapData["recoveryTime"] = viking.RecoveryTime - code = this.ModifyVikingData(session.GetUserId(), mapData) - } - } code, bWin := this.battle.CheckBattleReport(session, Report) if !bWin { // 战斗失败了 直接返回 code = pb.ErrorCode_BattleNoWin From ebb47ea8d97f115fae997e23f974c93f60de6f3a Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Mon, 9 Jan 2023 19:59:03 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/enchant/api_challengeover.go | 5 +++++ modules/enchant/api_getlist.go | 8 +++++--- modules/hunting/api_challengeover.go | 9 +++++++-- modules/hunting/api_getlist.go | 10 +++++----- modules/viking/api_challengeover.go | 6 ++++++ modules/viking/api_getlist.go | 6 +++++- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/modules/enchant/api_challengeover.go b/modules/enchant/api_challengeover.go index b6d78e61b..837591a67 100644 --- a/modules/enchant/api_challengeover.go +++ b/modules/enchant/api_challengeover.go @@ -77,6 +77,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha mapData["bossTime"] = enchant.BossTime mapData["boss"] = enchant.Boss code = this.module.ModifyEnchantData(session.GetUserId(), mapData) + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + enchant.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant}) return diff --git a/modules/enchant/api_getlist.go b/modules/enchant/api_getlist.go index 907adfac8..beb5b5b6b 100644 --- a/modules/enchant/api_getlist.go +++ b/modules/enchant/api_getlist.go @@ -42,9 +42,11 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListRe this.module.modelEnchant.Add(session.GetUserId(), list) - } else if err != nil { - code = pb.ErrorCode_DBError - return + } + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket + } } session.SendMsg(string(this.module.GetType()), EnchantGetListResp, &pb.EnchantGetListResp{Data: list}) diff --git a/modules/hunting/api_challengeover.go b/modules/hunting/api_challengeover.go index 1f198d74e..4b79fd0ad 100644 --- a/modules/hunting/api_challengeover.go +++ b/modules/hunting/api_challengeover.go @@ -101,6 +101,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha mapData["bossTime"] = hunting.BossTime code = this.module.ModifyHuntingData(session.GetUserId(), mapData) + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + hunting.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting}) // 随机任务统计 @@ -108,7 +113,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType) // 狩猎副本掉落觉醒材料 for _, v := range reward { - if _conf, err := this.configure.GetItemConfigureData(v.T); err == nil { + if _conf, err := this.module.configure.GetItemConfigureData(v.T); err == nil { if _conf.Usetype == 8 { this.module.ModuleRtask.SendToRtask(session, comm.Rtype154, v.N) } @@ -116,7 +121,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha } if newChallenge && bWin { for _, v := range cfgHunting.Firstprize { - if _conf, err := this.configure.GetItemConfigureData(v.T); err == nil { + if _conf, err := this.module.configure.GetItemConfigureData(v.T); err == nil { if _conf.Usetype == 8 { this.module.ModuleRtask.SendToRtask(session, comm.Rtype154, v.N) } diff --git a/modules/hunting/api_getlist.go b/modules/hunting/api_getlist.go index 02b76d834..a8fde745f 100644 --- a/modules/hunting/api_getlist.go +++ b/modules/hunting/api_getlist.go @@ -43,12 +43,12 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe this.module.modelHunting.Add(session.GetUserId(), list) - } else if err != nil { - - code = pb.ErrorCode_DBError - return } - + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list}) return } diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index 0df9e5add..4332925a5 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -129,6 +129,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal // } // } code = this.module.ModifyVikingData(session.GetUserId(), mapData) + + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + viking.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), VikingChallengeOverResp, &pb.VikingChallengeOverResp{ Data: viking, Asset: atno, diff --git a/modules/viking/api_getlist.go b/modules/viking/api_getlist.go index 3f617ff72..d4a52250f 100644 --- a/modules/viking/api_getlist.go +++ b/modules/viking/api_getlist.go @@ -42,7 +42,11 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq this.module.modelViking.Add(session.GetUserId(), list) } - + if session.GetUserId() != "" { // 恢复时间 + if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { + list.RecoveryTime = userexpand.Recovertimeunifiedticket + } + } session.SendMsg(string(this.module.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list}) return } From 824117c42fdd98dff942de9d62ce59c2914a512c Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Tue, 10 Jan 2023 11:20:48 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=85=AC=E4=BC=9Aboss=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/protocol.go | 11 +- cmd/v2/ui/views/sociaty_boss.go | 25 + cmd/v2/ui/views/task_activelist.go | 1 + comm/const.go | 2 + modules/sociaty/api.go | 1 + modules/sociaty/api_cross_breceive.go | 16 + modules/sociaty/api_cross_mine.go | 2 +- modules/sociaty/api_cross_setFormation.go | 16 + modules/sociaty/model_sociaty.go | 3 +- modules/sociaty/model_sociatyboss.go | 25 + modules/task/model_active.go | 2 +- pb/sociaty_db.pb.go | 451 +++++++-- pb/sociaty_msg.pb.go | 1054 +++++++++++++++++---- 13 files changed, 1347 insertions(+), 262 deletions(-) create mode 100644 cmd/v2/ui/views/sociaty_boss.go create mode 100644 modules/sociaty/api_cross_breceive.go create mode 100644 modules/sociaty/api_cross_setFormation.go create mode 100644 modules/sociaty/model_sociatyboss.go diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index d0cbfd3d1..4ffc79776 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -112,7 +112,7 @@ var ( ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{}, // linestory ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, - ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, + ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, // gourmet ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, // sociaty @@ -121,6 +121,7 @@ var ( ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): &formview.SociatyMineView{}, ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): &formview.SociatyTasklistView{}, ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank): &formview.SociatyRankView{}, + ff(comm.ModuleSociaty, "boss"): &formview.SociatyBossView{}, // troll ff(comm.ModuleTroll, "getlist"): &formview.TrollGetlistView{}, // growtask @@ -248,6 +249,7 @@ var ( ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine), ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist), ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank), + ff(comm.ModuleSociaty, "boss"), }, "troll": { ff(comm.ModuleTroll, "getlist"), @@ -894,6 +896,13 @@ var ( SubType: sociaty.SociatySubTypeRank, Enabled: true, }, + ff(comm.ModuleSociaty, "boss"): { + NavLabel: "BOSS", + Desc: "BOSS", + MainType: string(comm.ModuleSociaty), + SubType: "boss", + Enabled: true, + }, //troll string(comm.ModuleTroll): { NavLabel: "巨兽", diff --git a/cmd/v2/ui/views/sociaty_boss.go b/cmd/v2/ui/views/sociaty_boss.go new file mode 100644 index 000000000..20e4278fe --- /dev/null +++ b/cmd/v2/ui/views/sociaty_boss.go @@ -0,0 +1,25 @@ +package formview + +import ( + "go_dreamfactory/cmd/v2/model" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/widget" +) + +type SociatyBossView struct { + BaseformView +} + +func (s *SociatyBossView) CreateView(t *model.TestCase) fyne.CanvasObject { + buzhenBtn := widget.NewButton("布阵", s.buzhen) + btns := container.NewHBox(buzhenBtn) + c := container.NewBorder(btns, nil, nil, nil) + return c +} + +//布阵 +func (s *SociatyBossView) buzhen() { + +} diff --git a/cmd/v2/ui/views/task_activelist.go b/cmd/v2/ui/views/task_activelist.go index 7005fd3d5..8e4f9b759 100644 --- a/cmd/v2/ui/views/task_activelist.go +++ b/cmd/v2/ui/views/task_activelist.go @@ -38,6 +38,7 @@ func (this *TaskActiveListView) CreateView(t *model.TestCase) fyne.CanvasObject // task active list button taskListBtn := widget.NewButtonWithIcon("活跃度", theme.ConfirmIcon(), func() { + this.itemList.Reset() if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.TaskActiveListReq{ TaskTag: cast.ToInt32(tagSelect.Selected), }); err != nil { diff --git a/comm/const.go b/comm/const.go index 9603a2d1c..11076b185 100644 --- a/comm/const.go +++ b/comm/const.go @@ -183,6 +183,8 @@ const ( TableSociatyTask = "sociatytask" // 公会日志 TableSociatyLog = "sociatylog" + // 公会BOSS + TableSociatyBoss = "sociatybsoss" ///充值数据表 TablePay = "payorder" diff --git a/modules/sociaty/api.go b/modules/sociaty/api.go index f98c43043..a77144ca6 100644 --- a/modules/sociaty/api.go +++ b/modules/sociaty/api.go @@ -33,6 +33,7 @@ const ( SociatySubTypeTasklist = "tasklist" SociatySubTypeLog = "log" SociatySubTypeAgreePush = "agree" + SociatySubTypeRecord = "record" ) type apiComp struct { diff --git a/modules/sociaty/api_cross_breceive.go b/modules/sociaty/api_cross_breceive.go new file mode 100644 index 000000000..d66ecc3c6 --- /dev/null +++ b/modules/sociaty/api_cross_breceive.go @@ -0,0 +1,16 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +func (this *apiComp) BreceiveCheck(session comm.IUserSession, req *pb.SociatyBReceiveReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceiveReq) (code pb.ErrorCode, data proto.Message) { + return +} diff --git a/modules/sociaty/api_cross_mine.go b/modules/sociaty/api_cross_mine.go index f9f2bbe1a..c95806eb3 100644 --- a/modules/sociaty/api_cross_mine.go +++ b/modules/sociaty/api_cross_mine.go @@ -58,7 +58,7 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (co // 今日首次进入公会 if utils.IsFirstTody(sociatyTask.LastUpdateTime) { //更新昨日签到数 - this.module.modelSociaty.updateSign(sociaty) + this.module.modelSociaty.clearSigned(sociaty) // 删除任务 if err := this.module.modelSociatyTask.deleTask(sociaty.Id, uid); err == nil { // 初始新的公会任务 diff --git a/modules/sociaty/api_cross_setFormation.go b/modules/sociaty/api_cross_setFormation.go new file mode 100644 index 000000000..855a2265e --- /dev/null +++ b/modules/sociaty/api_cross_setFormation.go @@ -0,0 +1,16 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) +// 设置阵容 +func (this *apiComp) SetFormationCheck(session comm.IUserSession, req *pb.SociatyBSetFormationReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) SetFormation(session comm.IUserSession, req *pb.SociatyBSetFormationReq) (code pb.ErrorCode, data proto.Message) { + return +} diff --git a/modules/sociaty/model_sociaty.go b/modules/sociaty/model_sociaty.go index 9a5f30b30..41ab17672 100644 --- a/modules/sociaty/model_sociaty.go +++ b/modules/sociaty/model_sociaty.go @@ -951,7 +951,8 @@ func (this *ModelSociaty) memberClear(sociaty *pb.DBSociaty) error { return nil } -func (s *ModelSociaty) updateSign(sociaty *pb.DBSociaty) error { +// 清理签到数据 +func (s *ModelSociaty) clearSigned(sociaty *pb.DBSociaty) error { lastSignCount := len(sociaty.SignIds) update := map[string]interface{}{ "lastSignCount": lastSignCount, diff --git a/modules/sociaty/model_sociatyboss.go b/modules/sociaty/model_sociatyboss.go new file mode 100644 index 000000000..8fae065ab --- /dev/null +++ b/modules/sociaty/model_sociatyboss.go @@ -0,0 +1,25 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +type ModelSociatyBoss struct { + modules.MCompModel + moduleSociaty *Sociaty + service core.IService +} + +func (this *ModelSociatyBoss) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = comm.TableSociatyBoss + err = this.MCompModel.Init(service, module, comp, options) + this.moduleSociaty = module.(*Sociaty) + this.service = service + return +} + +func(s *ModelSociatyBoss) setFormation(){ + +} \ No newline at end of file diff --git a/modules/task/model_active.go b/modules/task/model_active.go index acb79dec4..5fc5bca5a 100644 --- a/modules/task/model_active.go +++ b/modules/task/model_active.go @@ -129,7 +129,7 @@ func (this *ModelTaskActive) clearTask(uid string, taskTag ...comm.TaskTag) { this.moduleTask.Errorf("least one param for taskTag") return } - data := this.getActiveListByTag(uid, taskTag[0]) + data := this.getActiveList(uid) for i:=0; i ApplyRecord - 3, // 1: DBSociaty.members:type_name -> SociatyMember - 0, // 2: SociatyMember.job:type_name -> SociatyJob - 4, // 3: DBSociatyLog.list:type_name -> SociatyLog - 7, // 4: DBSociatyTask.taskList:type_name -> SociatyTask - 8, // 5: DBSociatyTask.activityList:type_name -> SociatyActivity - 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 + 2, // 0: DBSociaty.applyRecord:type_name -> ApplyRecord + 3, // 1: DBSociaty.members:type_name -> SociatyMember + 0, // 2: SociatyMember.job:type_name -> SociatyJob + 13, // 3: SociatyMember.teams:type_name -> SociatyMember.TeamsEntry + 4, // 4: DBSociatyLog.list:type_name -> SociatyLog + 7, // 5: DBSociatyTask.taskList:type_name -> SociatyTask + 8, // 6: DBSociatyTask.activityList:type_name -> SociatyActivity + 10, // 7: ChallengeTeams.info:type_name -> ChallengeTeamInfo + 14, // 8: DBSociatyBossRecord.teams:type_name -> DBSociatyBossRecord.TeamsEntry + 11, // 9: SociatyMember.TeamsEntry.value:type_name -> ChallengeTeams + 11, // 10: DBSociatyBossRecord.TeamsEntry.value:type_name -> ChallengeTeams + 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_sociaty_sociaty_db_proto_init() } @@ -1028,6 +1291,42 @@ func file_sociaty_sociaty_db_proto_init() { return nil } } + file_sociaty_sociaty_db_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeTeamInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_db_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeTeams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_db_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBSociatyBossRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1035,7 +1334,7 @@ func file_sociaty_sociaty_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sociaty_sociaty_db_proto_rawDesc, NumEnums: 1, - NumMessages: 9, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/sociaty_msg.pb.go b/pb/sociaty_msg.pb.go index fcfcd9ab6..2558aff01 100644 --- a/pb/sociaty_msg.pb.go +++ b/pb/sociaty_msg.pb.go @@ -561,8 +561,9 @@ type SociatyMineResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sociaty *DBSociaty `protobuf:"bytes,1,opt,name=sociaty,proto3" json:"sociaty"` //公会信息 - Master *SociatyMemberInfo `protobuf:"bytes,2,opt,name=master,proto3" json:"master"` // 会长 + Sociaty *DBSociaty `protobuf:"bytes,1,opt,name=sociaty,proto3" json:"sociaty"` //公会信息 + Master *SociatyMemberInfo `protobuf:"bytes,2,opt,name=master,proto3" json:"master"` // 会长 + Teams map[int32]*ChallengeTeams `protobuf:"bytes,3,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //公会BOSS 队伍 } func (x *SociatyMineResp) Reset() { @@ -611,6 +612,13 @@ func (x *SociatyMineResp) GetMaster() *SociatyMemberInfo { return nil } +func (x *SociatyMineResp) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + //成员信息 type SociatyMemberInfo struct { state protoimpl.MessageState @@ -2540,6 +2548,8 @@ type SociatyRankReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType"` // 1个人2公会成员3全服 } func (x *SociatyRankReq) Reset() { @@ -2574,6 +2584,13 @@ func (*SociatyRankReq) Descriptor() ([]byte, []int) { return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{49} } +func (x *SociatyRankReq) GetRankType() int32 { + if x != nil { + return x.RankType + } + return 0 +} + type SociatyRankResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2725,6 +2742,488 @@ func (x *SociatyPAgreePush) GetSociatyId() string { return "" } +// 公会BOSS 布阵 +type SociatyBSetFormationReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Teams map[int32]*ChallengeTeams `protobuf:"bytes,2,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //队伍信息 队伍编号1 2 3 +} + +func (x *SociatyBSetFormationReq) Reset() { + *x = SociatyBSetFormationReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBSetFormationReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBSetFormationReq) ProtoMessage() {} + +func (x *SociatyBSetFormationReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] + 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 SociatyBSetFormationReq.ProtoReflect.Descriptor instead. +func (*SociatyBSetFormationReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{53} +} + +func (x *SociatyBSetFormationReq) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBSetFormationReq) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + +type SociatyBSetFormationResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *SociatyBSetFormationResp) Reset() { + *x = SociatyBSetFormationResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBSetFormationResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBSetFormationResp) ProtoMessage() {} + +func (x *SociatyBSetFormationResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] + 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 SociatyBSetFormationResp.ProtoReflect.Descriptor instead. +func (*SociatyBSetFormationResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{54} +} + +func (x *SociatyBSetFormationResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBSetFormationResp) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +// 公会BOSS 阵容推荐 +type SociatyBFormationRecoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cate int32 `protobuf:"varint,1,opt,name=cate,proto3" json:"cate"` // 1全服排行 2好友排行 +} + +func (x *SociatyBFormationRecoReq) Reset() { + *x = SociatyBFormationRecoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationRecoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationRecoReq) ProtoMessage() {} + +func (x *SociatyBFormationRecoReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + 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 SociatyBFormationRecoReq.ProtoReflect.Descriptor instead. +func (*SociatyBFormationRecoReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{55} +} + +func (x *SociatyBFormationRecoReq) GetCate() int32 { + if x != nil { + return x.Cate + } + return 0 +} + +type SociatyBFormationRecoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Teams map[int32]*ChallengeTeams `protobuf:"bytes,1,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SociatyBFormationRecoResp) Reset() { + *x = SociatyBFormationRecoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBFormationRecoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBFormationRecoResp) ProtoMessage() {} + +func (x *SociatyBFormationRecoResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + 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 SociatyBFormationRecoResp.ProtoReflect.Descriptor instead. +func (*SociatyBFormationRecoResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{56} +} + +func (x *SociatyBFormationRecoResp) GetTeams() map[int32]*ChallengeTeams { + if x != nil { + return x.Teams + } + return nil +} + +// 公会BOSS 领取奖励 +type SociatyBReceiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + TaskId int32 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId"` +} + +func (x *SociatyBReceiveReq) Reset() { + *x = SociatyBReceiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBReceiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBReceiveReq) ProtoMessage() {} + +func (x *SociatyBReceiveReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + 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 SociatyBReceiveReq.ProtoReflect.Descriptor instead. +func (*SociatyBReceiveReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{57} +} + +func (x *SociatyBReceiveReq) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBReceiveReq) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 +} + +type SociatyBReceiveResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SociatyBReceiveResp) Reset() { + *x = SociatyBReceiveResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBReceiveResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBReceiveResp) ProtoMessage() {} + +func (x *SociatyBReceiveResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + 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 SociatyBReceiveResp.ProtoReflect.Descriptor instead. +func (*SociatyBReceiveResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{58} +} + +//公会BOSS 排名 +type SociatyBRankReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType"` //排名分类 1个人排名2公会成员3全服排名 +} + +func (x *SociatyBRankReq) Reset() { + *x = SociatyBRankReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBRankReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBRankReq) ProtoMessage() {} + +func (x *SociatyBRankReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + 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 SociatyBRankReq.ProtoReflect.Descriptor instead. +func (*SociatyBRankReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{59} +} + +func (x *SociatyBRankReq) GetRankType() int32 { + if x != nil { + return x.RankType + } + return 0 +} + +type SociatyRankInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` //昵称 + Head string `protobuf:"bytes,2,opt,name=head,proto3" json:"head"` //头像 + Lv int32 `protobuf:"varint,3,opt,name=lv,proto3" json:"lv"` //等级 + SociatyName string `protobuf:"bytes,4,opt,name=sociatyName,proto3" json:"sociatyName"` //公会名称 + Ranking int32 `protobuf:"varint,5,opt,name=ranking,proto3" json:"ranking"` //名次 + Evaluate int64 `protobuf:"varint,6,opt,name=evaluate,proto3" json:"evaluate"` //积分 +} + +func (x *SociatyRankInfo) Reset() { + *x = SociatyRankInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyRankInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyRankInfo) ProtoMessage() {} + +func (x *SociatyRankInfo) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + 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 SociatyRankInfo.ProtoReflect.Descriptor instead. +func (*SociatyRankInfo) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{60} +} + +func (x *SociatyRankInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SociatyRankInfo) GetHead() string { + if x != nil { + return x.Head + } + return "" +} + +func (x *SociatyRankInfo) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +func (x *SociatyRankInfo) GetSociatyName() string { + if x != nil { + return x.SociatyName + } + return "" +} + +func (x *SociatyRankInfo) GetRanking() int32 { + if x != nil { + return x.Ranking + } + return 0 +} + +func (x *SociatyRankInfo) GetEvaluate() int64 { + if x != nil { + return x.Evaluate + } + return 0 +} + +type SociatyBRankResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rank []*SociatyRankInfo `protobuf:"bytes,1,rep,name=rank,proto3" json:"rank"` +} + +func (x *SociatyBRankResp) Reset() { + *x = SociatyBRankResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBRankResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBRankResp) ProtoMessage() {} + +func (x *SociatyBRankResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + 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 SociatyBRankResp.ProtoReflect.Descriptor instead. +func (*SociatyBRankResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{61} +} + +func (x *SociatyBRankResp) GetRank() []*SociatyRankInfo { + if x != nil { + return x.Rank + } + return nil +} + var File_sociaty_sociaty_msg_proto protoreflect.FileDescriptor var file_sociaty_sociaty_msg_proto_rawDesc = []byte{ @@ -2769,165 +3268,228 @@ var file_sociaty_sociaty_msg_proto_rawDesc = []byte{ 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x22, 0x63, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, - 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1d, 0x0a, 0x03, 0x6a, - 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x13, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x71, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x06, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4d, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, + 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, + 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x13, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x22, 0x3e, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x22, 0x2f, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x69, - 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x48, 0x0a, - 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, - 0x22, 0x24, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x22, - 0x13, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, - 0x75, 0x69, 0x74, 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x13, - 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, - 0x22, 0x31, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, - 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, - 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, - 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x22, 0x31, - 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, - 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63, 0x6f, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x16, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x03, 0x6c, 0x6f, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x22, 0x37, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3f, 0x0a, 0x17, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, - 0x19, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1a, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x72, - 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x22, - 0x33, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, - 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, + 0x24, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x22, 0x13, + 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, + 0x69, 0x74, 0x52, 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x13, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x2e, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x4d, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x63, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, + 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, + 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x70, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x52, + 0x65, 0x71, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, + 0x37, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, + 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, + 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, + 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3f, 0x0a, 0x17, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x19, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1a, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, + 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x22, + 0x43, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x50, 0x41, 0x67, 0x72, 0x65, 0x65, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x42, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, + 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, + 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, + 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x22, 0x2e, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x61, 0x74, 0x65, + 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, + 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, + 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, + 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, + 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x65, 0x61, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x6c, 0x76, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x10, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x24, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x41, + 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x10, 0x01, 0x12, + 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, + 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2943,7 +3505,7 @@ func file_sociaty_sociaty_msg_proto_rawDescGZIP() []byte { } var file_sociaty_sociaty_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 53) +var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 65) var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (SociatyListFilter)(0), // 0: SociatyListFilter (*SociatyCreateReq)(nil), // 1: SociatyCreateReq @@ -2999,33 +3561,53 @@ var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (*SociatyRankResp)(nil), // 51: SociatyRankResp (*SociatyPDismissPush)(nil), // 52: SociatyPDismissPush (*SociatyPAgreePush)(nil), // 53: SociatyPAgreePush - (*DBSociaty)(nil), // 54: DBSociaty - (SociatyJob)(0), // 55: SociatyJob - (*DBSociatyLog)(nil), // 56: DBSociatyLog - (*SociatyTask)(nil), // 57: SociatyTask - (*SociatyActivity)(nil), // 58: SociatyActivity - (*DBSociatyRank)(nil), // 59: DBSociatyRank + (*SociatyBSetFormationReq)(nil), // 54: SociatyBSetFormationReq + (*SociatyBSetFormationResp)(nil), // 55: SociatyBSetFormationResp + (*SociatyBFormationRecoReq)(nil), // 56: SociatyBFormationRecoReq + (*SociatyBFormationRecoResp)(nil), // 57: SociatyBFormationRecoResp + (*SociatyBReceiveReq)(nil), // 58: SociatyBReceiveReq + (*SociatyBReceiveResp)(nil), // 59: SociatyBReceiveResp + (*SociatyBRankReq)(nil), // 60: SociatyBRankReq + (*SociatyRankInfo)(nil), // 61: SociatyRankInfo + (*SociatyBRankResp)(nil), // 62: SociatyBRankResp + nil, // 63: SociatyMineResp.TeamsEntry + nil, // 64: SociatyBSetFormationReq.TeamsEntry + nil, // 65: SociatyBFormationRecoResp.TeamsEntry + (*DBSociaty)(nil), // 66: DBSociaty + (SociatyJob)(0), // 67: SociatyJob + (*DBSociatyLog)(nil), // 68: DBSociatyLog + (*SociatyTask)(nil), // 69: SociatyTask + (*SociatyActivity)(nil), // 70: SociatyActivity + (*DBSociatyRank)(nil), // 71: DBSociatyRank + (*ChallengeTeams)(nil), // 72: ChallengeTeams } var file_sociaty_sociaty_msg_proto_depIdxs = []int32{ 0, // 0: SociatyListReq.filter:type_name -> SociatyListFilter - 54, // 1: SociatyListResp.list:type_name -> DBSociaty - 54, // 2: SociatySearchResp.list:type_name -> DBSociaty - 54, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty + 66, // 1: SociatyListResp.list:type_name -> DBSociaty + 66, // 2: SociatySearchResp.list:type_name -> DBSociaty + 66, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty 11, // 4: SociatyMineResp.master:type_name -> SociatyMemberInfo - 55, // 5: SociatyMemberInfo.job:type_name -> SociatyJob - 11, // 6: SociatyApplyListResp.list:type_name -> SociatyMemberInfo - 11, // 7: SociatyMembersResp.list:type_name -> SociatyMemberInfo - 55, // 8: SociatySettingJobReq.job:type_name -> SociatyJob - 55, // 9: SociatySettingJobResp.job:type_name -> SociatyJob - 56, // 10: SociatyLogResp.log:type_name -> DBSociatyLog - 57, // 11: SociatyTaskListResp.list:type_name -> SociatyTask - 58, // 12: SociatyActivityListResp.list:type_name -> SociatyActivity - 59, // 13: SociatyRankResp.rank:type_name -> DBSociatyRank - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 63, // 5: SociatyMineResp.teams:type_name -> SociatyMineResp.TeamsEntry + 67, // 6: SociatyMemberInfo.job:type_name -> SociatyJob + 11, // 7: SociatyApplyListResp.list:type_name -> SociatyMemberInfo + 11, // 8: SociatyMembersResp.list:type_name -> SociatyMemberInfo + 67, // 9: SociatySettingJobReq.job:type_name -> SociatyJob + 67, // 10: SociatySettingJobResp.job:type_name -> SociatyJob + 68, // 11: SociatyLogResp.log:type_name -> DBSociatyLog + 69, // 12: SociatyTaskListResp.list:type_name -> SociatyTask + 70, // 13: SociatyActivityListResp.list:type_name -> SociatyActivity + 71, // 14: SociatyRankResp.rank:type_name -> DBSociatyRank + 64, // 15: SociatyBSetFormationReq.teams:type_name -> SociatyBSetFormationReq.TeamsEntry + 65, // 16: SociatyBFormationRecoResp.teams:type_name -> SociatyBFormationRecoResp.TeamsEntry + 61, // 17: SociatyBRankResp.rank:type_name -> SociatyRankInfo + 72, // 18: SociatyMineResp.TeamsEntry.value:type_name -> ChallengeTeams + 72, // 19: SociatyBSetFormationReq.TeamsEntry.value:type_name -> ChallengeTeams + 72, // 20: SociatyBFormationRecoResp.TeamsEntry.value:type_name -> ChallengeTeams + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_sociaty_sociaty_msg_proto_init() } @@ -3671,6 +4253,114 @@ func file_sociaty_sociaty_msg_proto_init() { return nil } } + file_sociaty_sociaty_msg_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBSetFormationReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBSetFormationResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationRecoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBFormationRecoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBReceiveReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBReceiveResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBRankReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyRankInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBRankResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3678,7 +4368,7 @@ func file_sociaty_sociaty_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sociaty_sociaty_msg_proto_rawDesc, NumEnums: 1, - NumMessages: 53, + NumMessages: 65, NumExtensions: 0, NumServices: 0, }, From 5bcccf25d2a1842c10808a0febc97cb0143ce8dd Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 10 Jan 2023 14:11:27 +0800 Subject: [PATCH 4/8] =?UTF-8?q?key=20=E4=BC=98=E5=8C=96=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_msgdistrib.json | 12 +++ modules/enchant/api_challenge.go | 2 +- modules/enchant/api_challengeover.go | 9 +- modules/enchant/api_getlist.go | 7 -- modules/enchant/api_ranklist.go | 8 +- modules/enchant/module.go | 139 ++++++++++++++------------- modules/hunting/api_ranklist.go | 11 ++- modules/hunting/module.go | 3 +- modules/timer/season.go | 18 ++-- modules/viking/api_ranklist.go | 14 ++- modules/viking/module.go | 6 +- 11 files changed, 124 insertions(+), 105 deletions(-) diff --git a/bin/json/game_msgdistrib.json b/bin/json/game_msgdistrib.json index f517fd9d0..8f4a883ee 100644 --- a/bin/json/game_msgdistrib.json +++ b/bin/json/game_msgdistrib.json @@ -88,5 +88,17 @@ "open": true, "routrules": "~/worker", "describe": "维京排行榜数据" + }, + { + "msgid": "hunting.ranklist", + "open": true, + "routrules": "~/worker", + "describe": "狩猎排行榜数据" + }, + { + "msgid": "enchant.ranklist", + "open": true, + "routrules": "~/worker", + "describe": "附魔副本排行榜数据" } ] \ No newline at end of file diff --git a/modules/enchant/api_challenge.go b/modules/enchant/api_challenge.go index 110a1b8f6..544019ec5 100644 --- a/modules/enchant/api_challenge.go +++ b/modules/enchant/api_challenge.go @@ -41,7 +41,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallen } if code = this.module.CheckRes(session, cfgData[0].PsConsume); code != pb.ErrorCode_Success { - code = pb.ErrorCode_VikingMaxChallengeCount + code = pb.ErrorCode_ItemsNoEnough return } _, ok := enchant.Boss[req.BossType] diff --git a/modules/enchant/api_challengeover.go b/modules/enchant/api_challengeover.go index 837591a67..a1aa44f30 100644 --- a/modules/enchant/api_challengeover.go +++ b/modules/enchant/api_challengeover.go @@ -58,9 +58,14 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantCha if code = this.module.ConsumeRes(session, cfgEnchant[0].PsConsume, true); code != pb.ErrorCode_Success { return } - if bWin { - this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, req.Score) + key := req.BossType + if enchant.BossTime[key] > req.Report.Costtime || enchant.BossTime[key] == 0 { + enchant.BossTime[key] = req.Report.Costtime + mapData["bossTime"] = enchant.BossTime // 更新时间 + userinfo := this.module.ModuleUser.GetUser(session.GetUserId()) + this.module.CheckRank(session.GetUserId(), req.BossType, req.Report, userinfo, req.Score) } + //this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, req.Score) enchant.Boss[req.BossType] = req.Score // 获得的积分 // 发放通关随机奖励 for _, v := range cfgEnchant { diff --git a/modules/enchant/api_getlist.go b/modules/enchant/api_getlist.go index beb5b5b6b..2c28f8228 100644 --- a/modules/enchant/api_getlist.go +++ b/modules/enchant/api_getlist.go @@ -17,11 +17,6 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.EnchantGetL func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListReq) (code pb.ErrorCode, data proto.Message) { - code = this.GetListCheck(session, req) - if code != pb.ErrorCode_Success { - return // 参数校验失败直接返回 - } - // 刷新挑战卷 if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success { return @@ -39,9 +34,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListRe for k := range _cfg { list.BossTime[k] = 0 } - this.module.modelEnchant.Add(session.GetUserId(), list) - } if session.GetUserId() != "" { // 恢复时间 if userexpand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId()); err == nil { diff --git a/modules/enchant/api_ranklist.go b/modules/enchant/api_ranklist.go index 11fae6262..fde9690b9 100644 --- a/modules/enchant/api_ranklist.go +++ b/modules/enchant/api_ranklist.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "strconv" "github.com/go-redis/redis/v8" @@ -26,11 +27,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableEnchantRank, 0, conn) if !req.Friend { var ( pipe *pipe.RedisPipe = this.module.modelEnchant.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("enchantRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRange("enchantRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -39,7 +42,8 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.EnchantRankList _dataList := rd.Val() for _, v := range _dataList { result := &pb.DBEnchantRank{} - if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { + + if err := dbModel.Redis.HGetAll(v, result); err == nil { szRank = append(szRank, result) } } diff --git a/modules/enchant/module.go b/modules/enchant/module.go index 205d90282..673b3b5a0 100644 --- a/modules/enchant/module.go +++ b/modules/enchant/module.go @@ -1,14 +1,16 @@ package enchant import ( + "context" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/db" "strconv" - "time" + "github.com/go-redis/redis/v8" "go.mongodb.org/mongo-driver/bson/primitive" ) @@ -76,79 +78,80 @@ func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantR } return } -func (this *Enchant) CheckRank(uid string, boosID int32, Enchant *pb.DBEnchant, report *pb.BattleReport, score int64) { +func (this *Enchant) CheckRank(uid string, boosID int32, report *pb.BattleReport, userinfo *pb.DBUser, score int64) { + conn_, _ := db.Cross() // 获取跨服数据库对象 + + model := db.NewDBModel(comm.TableEnchantRank, 0, conn_) + costTime := report.Costtime - - if Enchant.BossTime[boosID] > costTime || Enchant.BossTime[boosID] == 0 { // 刷新记录 - Enchant.BossTime[boosID] = costTime - szLine := make([]*pb.LineUp, 0) - Leadpos := 0 - if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { - costTime = report.Costtime - Leadpos = int(report.Info.Redflist[0].Leadpos) - for _, v := range report.Info.Redflist[0].Team { - if v != nil { - szLine = append(szLine, &pb.LineUp{ - Cid: v.HeroID, - Star: v.Star, - Lv: v.Lv, - }) - } + szLine := make([]*pb.LineUp, 5) + Leadpos := 0 + if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { + costTime = report.Costtime + Leadpos = int(report.Info.Redflist[0].Leadpos) + for _, v := range report.Info.Redflist[0].Team { + if v != nil { + szLine = append(szLine, &pb.LineUp{ + Cid: v.HeroID, + Star: v.Star, + Lv: v.Lv, + }) } } - // 写入排行榜 - objID := "" - bFind := false - ranks := this.modulerank.getEnchantRankList(uid) - for _, v := range ranks { - if v.Bosstype == boosID { - mapRankData := make(map[string]interface{}, 0) - - mapRankData["bosstype"] = boosID - mapRankData["Leadpos"] = Leadpos - mapRankData["line"] = szLine - mapRankData["costTime"] = costTime - mapRankData["score"] = score - conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) - dbModel.ChangeList(uid, v.Id, mapRankData) - objID = v.Id - bFind = true - break - } - } - if !bFind { - userinfo := this.ModuleUser.GetUser(uid) - new := &pb.DBEnchantRank{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Bosstype: boosID, - Nickname: userinfo.Name, - Lv: userinfo.Lv, - Leadpos: int32(Leadpos), - Line: szLine, - CostTime: costTime, - Score: score, - } - objID = new.Id - conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) - dbModel.AddList(uid, new.Id, new) - } - this.modulerank.SetRankListData("EnchantRank"+strconv.Itoa(int(boosID)), score, objID) } -} + // 写入排行榜 + objID := "" + bFind := false + ranks := this.modulerank.getEnchantRankList(uid) + for _, v := range ranks { + if v.Bosstype == boosID { + mapRankData := make(map[string]interface{}, 0) + mapRankData["bosstype"] = boosID + mapRankData["Leadpos"] = Leadpos + mapRankData["line"] = szLine + mapRankData["costTime"] = costTime + mapRankData["score"] = score -//红点查询 -func (this *Enchant) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) { - reddot = make(map[comm.ReddotType]bool) - for _, v := range rid { - switch v { - case comm.Reddot32: - reddot[comm.Reddot32] = this.modelEnchant.checkReddot32(session.GetUserId()) + model.ChangeList(uid, v.Id, mapRankData) + objID = v.Id + bFind = true break - } } - return + if !bFind { + userinfo := this.ModuleUser.GetUser(uid) + new := &pb.DBEnchantRank{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Bosstype: boosID, + Nickname: userinfo.Name, + Lv: userinfo.Lv, + Leadpos: int32(Leadpos), + Line: szLine, + CostTime: costTime, + Score: score, + } + objID = new.Id + model.AddList(uid, new.Id, new) + } + var ( + pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO()) + menbers *redis.Z + tableName string + ) + tableName = "enchantRank" + strconv.Itoa(int(boosID)) + strKey := "enchantRank:" + uid + "-" + objID + menbers = &redis.Z{Score: float64(costTime), 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 + } } diff --git a/modules/hunting/api_ranklist.go b/modules/hunting/api_ranklist.go index 9a791bbbc..13ec32e4e 100644 --- a/modules/hunting/api_ranklist.go +++ b/modules/hunting/api_ranklist.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/pb" + "go_dreamfactory/sys/db" "strconv" "github.com/go-redis/redis/v8" @@ -26,11 +27,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableHuntingRank, 0, conn) if !req.Friend { var ( - pipe *pipe.RedisPipe = this.module.modelHunting.Redis.RedisPipe(context.TODO()) + pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRevRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -39,11 +42,11 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList _dataList := rd.Val() for _, v := range _dataList { result := &pb.DBHuntingRank{} - if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { + + if err := dbModel.Redis.HGetAll(v, result); err == nil { szRank = append(szRank, result) } } - } else { uids := this.friend.GetFriendList(session.GetUserId()) for _, id := range uids { diff --git a/modules/hunting/module.go b/modules/hunting/module.go index 02bb45307..7b4fe155d 100644 --- a/modules/hunting/module.go +++ b/modules/hunting/module.go @@ -147,7 +147,8 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, repor ) score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime) tableName = "huntingRank" + strconv.Itoa(int(boosID)) - menbers = &redis.Z{Score: float64(score), Member: objID} + strKey := "huntingRank:" + uid + "-" + objID + menbers = &redis.Z{Score: float64(score), Member: strKey} if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { diff --git a/modules/timer/season.go b/modules/timer/season.go index 7de8e7d5e..d9e04ddd1 100644 --- a/modules/timer/season.go +++ b/modules/timer/season.go @@ -197,7 +197,7 @@ func (this *SeasonPagoda) TimerSeasonStar() { func (this *SeasonPagoda) DbTest() { conn, _ := db.Cross() - model1 := db.NewDBModel(comm.TableVikingRank, time.Hour, conn) + model1 := db.NewDBModel(comm.TableVikingRank, 0, conn) model1.Redis.Delete("vikingRank2") _d, err := model1.Redis.Keys("vikingrank:*") if err == nil { @@ -221,8 +221,8 @@ func (this *SeasonPagoda) DbTest() { Line: make([]*pb.LineUp, 5), CostTime: 12000 + int32(i), } - //model1.AddList(new.Uid, new.Id, new) - model1.Add(new.Uid, new) + model1.AddList(new.Uid, new.Id, new) + //model1.Add(new.Uid, new) var ( pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) menbers *redis.Z @@ -232,7 +232,7 @@ func (this *SeasonPagoda) DbTest() { score = int64(i)<<31 + int64(math.MaxInt32-new.CostTime) tableName = "vikingRank" + strconv.Itoa(int(new.Bosstype)) //vikingrank:mmmxxx1-63bbb137b96efbd321222ce7 - strKey := new.Uid //"vikingrank:" + new.Uid + "-" + new.Id // 自定义key + strKey := "vikingrank:" + new.Uid + "-" + new.Id // 自定义key new.Uid // menbers = &redis.Z{Score: float64(score), Member: strKey} if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { @@ -262,19 +262,19 @@ func (this *SeasonPagoda) DbTest() { _dataList := rd.Val() for _, v := range _dataList { result := &pb.DBVikingRank{} - if err := model1.Get(v, result); err == nil { - //for _, v2 := range result { - szRank = append(szRank, result) - //} + if err := model1.Redis.HGetAll(v, result); err == nil { + szRank = append(szRank, result) } + // result := make([]*pb.DBVikingRank, 0) // if err := model1.GetList(v, &result); err == nil { // for _, v2 := range result { // szRank = append(szRank, v2) // } + // } } - //this.module.Debugf("%v", szRank) + this.module.Debugf("%v", szRank) } } diff --git a/modules/viking/api_ranklist.go b/modules/viking/api_ranklist.go index 82ad09dab..b71250fa6 100644 --- a/modules/viking/api_ranklist.go +++ b/modules/viking/api_ranklist.go @@ -30,11 +30,12 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR return // 参数校验失败直接返回 } conn, _ := db.Local() + dbModel := db.NewDBModel(comm.TableVikingRank, 0, conn) if !req.Friend { var ( pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) ) - rd = pipe.ZRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) + rd = pipe.ZRevRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, comm.MaxRankList) if _, err := pipe.Exec(); err != nil { this.module.Errorln(err) @@ -42,13 +43,10 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR } _dataList := rd.Val() for _, v := range _dataList { - result := make([]*pb.DBVikingRank, 0) - if err := this.module.modulerank.GetList(v, &result); err == nil { - for _, v2 := range result { - if v2.Bosstype == req.BoosType { - szRank = append(szRank, v2) - } - } + result := &pb.DBVikingRank{} + + if err := dbModel.Redis.HGetAll(v, result); err == nil { + szRank = append(szRank, result) } } diff --git a/modules/viking/module.go b/modules/viking/module.go index 98c36a077..308e8242d 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -16,7 +16,6 @@ import ( "go_dreamfactory/sys/db" "math" "strconv" - "time" "github.com/go-redis/redis/v8" "go.mongodb.org/mongo-driver/bson/primitive" @@ -90,7 +89,7 @@ func (this *Viking) CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport, userinfo *pb.DBUser) { conn_, _ := db.Cross() // 获取跨服数据库对象 - model := db.NewDBModel(comm.TableVikingRank, time.Hour, conn_) + model := db.NewDBModel(comm.TableVikingRank, 0, conn_) costTime := report.Costtime szLine := make([]*pb.LineUp, 5) @@ -154,7 +153,8 @@ func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report ) score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime) tableName = "vikingRank" + strconv.Itoa(int(boosID)) - menbers = &redis.Z{Score: float64(score), Member: objID} + strKey := "vikingrank:" + uid + "-" + objID // 自定义key + menbers = &redis.Z{Score: float64(score), Member: strKey} if cmd := pipe.ZAdd(tableName, menbers); cmd != nil { From e388f4df992ba322203e3c91f450bc5a4f46c977 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 10 Jan 2023 14:25:23 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=88=91=E6=96=B9=E9=98=9F=E4=BC=8D?= =?UTF-8?q?=E9=98=9F=E5=88=97=E6=95=B0=E6=8D=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=97=B6=E6=8C=87=E5=AE=9A=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/enchant/module.go | 2 +- modules/hunting/module.go | 2 +- modules/viking/module.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/enchant/module.go b/modules/enchant/module.go index 673b3b5a0..cd2894d93 100644 --- a/modules/enchant/module.go +++ b/modules/enchant/module.go @@ -84,7 +84,7 @@ func (this *Enchant) CheckRank(uid string, boosID int32, report *pb.BattleReport model := db.NewDBModel(comm.TableEnchantRank, 0, conn_) costTime := report.Costtime - szLine := make([]*pb.LineUp, 5) + 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 diff --git a/modules/hunting/module.go b/modules/hunting/module.go index 7b4fe155d..11bb3da41 100644 --- a/modules/hunting/module.go +++ b/modules/hunting/module.go @@ -86,7 +86,7 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, repor model := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_) costTime := report.Costtime - szLine := make([]*pb.LineUp, 5) + 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 diff --git a/modules/viking/module.go b/modules/viking/module.go index 308e8242d..fc0e29dd5 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -92,7 +92,7 @@ func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report model := db.NewDBModel(comm.TableVikingRank, 0, conn_) costTime := report.Costtime - szLine := make([]*pb.LineUp, 5) + 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 From c8d056c11e585ef107c8b2b4919f70a8e01a42da Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 10 Jan 2023 16:33:44 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/gm/module.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/gm/module.go b/modules/gm/module.go index b34bf5d5b..52ce54393 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -158,7 +158,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC code = module1.(comm.IHero).GetAllMaxHero(session) this.Debug("使用bingo命令:uid = %s ", log.Field{Key: "uid", Value: session.GetUserId()}, - log.Field{Key: "0", Value: datas[1]}, + log.Field{Key: "0", Value: datas[0]}, ) } else if len(datas) == 2 && (datas[0] == "season") { // 赛季塔跳转 module1, err := this.service.GetModule(comm.ModulePagoda) @@ -193,7 +193,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC code = module1.(comm.IHunting).CompleteAllLevel(session) this.Debug("使用bingo命令:uid = %s ", log.Field{Key: "uid", Value: session.GetUserId()}, - log.Field{Key: "0", Value: datas[1]}) + log.Field{Key: "0", Value: datas[0]}) } else if len(datas) == 3 && (datas[0] == "mainline") { module1, err := this.service.GetModule(comm.ModuleMainline) if err != nil { From 3097b842d60c65d18efde42925424668fde2bbac Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Wed, 11 Jan 2023 10:33:08 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=85=AC=E4=BC=9Aboss=E6=8C=91=E6=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/lib/common/utils.go | 7 + cmd/v2/lib/common/utils_test.go | 4 + cmd/v2/ui/views/hero_list.go | 4 +- cmd/v2/ui/views/sociaty_boss.go | 221 ++++++++++- modules/sociaty/api.go | 1 + modules/sociaty/api_cross_Formation.go | 43 +++ modules/sociaty/api_cross_challenge.go | 16 + modules/sociaty/api_cross_mine.go | 5 + modules/sociaty/api_cross_setFormation.go | 16 - modules/sociaty/model_sociaty.go | 10 + modules/sociaty/model_sociatyboss.go | 38 +- modules/sociaty/module.go | 2 + pb/sociaty_db.pb.go | 82 ++-- pb/sociaty_msg.pb.go | 440 ++++++++++++++-------- 14 files changed, 674 insertions(+), 215 deletions(-) create mode 100644 modules/sociaty/api_cross_Formation.go create mode 100644 modules/sociaty/api_cross_challenge.go delete mode 100644 modules/sociaty/api_cross_setFormation.go diff --git a/cmd/v2/lib/common/utils.go b/cmd/v2/lib/common/utils.go index 32031cdfe..cbe4c50b0 100644 --- a/cmd/v2/lib/common/utils.go +++ b/cmd/v2/lib/common/utils.go @@ -234,3 +234,10 @@ func FormatFloatCeil(num float64, decimal int) (float64, error) { res := strconv.FormatFloat(math.Ceil(num*d)/d, 'f', -1, 64) return strconv.ParseFloat(res, 64) } + +func LastChars(str string, count int) string { + if len(str) <= count { + return str + } + return str[len(str)-count:] +} \ No newline at end of file diff --git a/cmd/v2/lib/common/utils_test.go b/cmd/v2/lib/common/utils_test.go index 180d48755..65744275c 100644 --- a/cmd/v2/lib/common/utils_test.go +++ b/cmd/v2/lib/common/utils_test.go @@ -59,3 +59,7 @@ func TestDiv(t *testing.T) { num, _ = FormatFloatFloor(0.2295, 2) fmt.Println(reflect.TypeOf(num), num) } + +func TestSub(t *testing.T){ + fmt.Println(LastChars("23af2", 6)) +} \ No newline at end of file diff --git a/cmd/v2/ui/views/hero_list.go b/cmd/v2/ui/views/hero_list.go index 4cc46dc20..e2c6d5ce8 100644 --- a/cmd/v2/ui/views/hero_list.go +++ b/cmd/v2/ui/views/hero_list.go @@ -45,11 +45,11 @@ func (this *HeroListView) CreateView(t *model.TestCase) fyne.CanvasObject { buttonBar := container.NewHBox(refreshBtn) c := container.NewBorder(buttonBar, nil, nil, nil, this.itemList.ItemList) - this.dataListener() + this.DataListener() return c } -func (this *HeroListView) dataListener() { +func (this *HeroListView) DataListener() { if this.flag { return } diff --git a/cmd/v2/ui/views/sociaty_boss.go b/cmd/v2/ui/views/sociaty_boss.go index 20e4278fe..636fe5994 100644 --- a/cmd/v2/ui/views/sociaty_boss.go +++ b/cmd/v2/ui/views/sociaty_boss.go @@ -1,25 +1,244 @@ package formview import ( + "fmt" + "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/model" + "go_dreamfactory/cmd/v2/service" + "go_dreamfactory/cmd/v2/service/observer" + "go_dreamfactory/comm" + "go_dreamfactory/modules/hero" + "go_dreamfactory/modules/sociaty" + "go_dreamfactory/pb" "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" ) type SociatyBossView struct { BaseformView + + itemList common.ItemList + heroListFlag bool + teamFlag bool + heroList func() + sociatyId string + teams map[int32]*pb.ChallengeTeams } func (s *SociatyBossView) CreateView(t *model.TestCase) fyne.CanvasObject { + s.teams = make(map[int32]*pb.ChallengeTeams) + + loadSociaty := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + sociaty.SociatySubTypeMine, + &pb.SociatyMineReq{}, + ); err != nil { + logrus.Error(err) + return + } + } + defer loadSociaty() + buzhenBtn := widget.NewButton("布阵", s.buzhen) - btns := container.NewHBox(buzhenBtn) + challengeBtn := widget.NewButton("挑战", s.challenge) + btns := container.NewHBox(buzhenBtn, challengeBtn) c := container.NewBorder(btns, nil, nil, nil) + + s.listenTeams() return c } +//加载team数据 +func (s *SociatyBossView) listenTeams() { + if s.teamFlag { + return + } + s.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleSociaty) && + data.SubType == sociaty.SociatySubTypeMine) { + return + } + rsp := &pb.SociatyMineResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + if rsp.Sociaty != nil { + s.sociatyId = rsp.Sociaty.Id + s.teams = rsp.Teams + } + + }, + }) + s.teamFlag = true +} + +// 挑战 +func (s *SociatyBossView) challenge() { + +} + //布阵 func (s *SociatyBossView) buzhen() { + //英雄列表 + s.itemList = *common.NewItemList() + s.itemList.ItemList = s.itemList.CreateDefaultCheckList() + s.heroList = func() { + if err := service.GetPttService().SendToClient(string(comm.ModuleHero), "list", &pb.HeroListReq{}); err != nil { + logrus.Error(err) + return + } + } + defer s.heroList() + s.HeroDataListener() + + //队伍数据 + + addHero1 := widget.NewButton("添加至一队", nil) + addHero2 := widget.NewButton("添加至二队", nil) + addHero3 := widget.NewButton("添加至三队", nil) + saveBuzhen := widget.NewButton("保存布阵", nil) + + btns := container.NewHBox(addHero1, addHero2, addHero3, saveBuzhen) + content := container.NewGridWithRows(3) + team1 := container.NewGridWithColumns(5) + //refresh team1 + team1Box := container.NewHBox(widget.NewLabel("一队:"), team1) + if t, ok := s.teams[1]; ok { + for _, i := range t.Infos { + team1.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + + team2 := container.NewGridWithColumns(5) + team2Box := container.NewHBox(widget.NewLabel("二队:"), team2) + team3 := container.NewGridWithColumns(5) + team3Box := container.NewHBox(widget.NewLabel("三队:"), team3) + + content.AddObject(team1Box) + content.AddObject(team2Box) + content.AddObject(team3Box) + + // 添加一队英雄 + addHero1.OnTapped = func() { + team1 = container.NewGridWithColumns(5) + if t, ok := s.teams[1]; ok { + for _, i := range t.Infos { + team1.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team1.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[1] = &pb.ChallengeTeams{Infos: teams} + } + + // 添加二队英雄 + addHero2.OnTapped = func() { + team2 = container.NewGridWithColumns(5) + if t, ok := s.teams[2]; ok { + for _, i := range t.Infos { + team2.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team2.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[2] = &pb.ChallengeTeams{Infos: teams} + } + + // 添加三队英雄 + addHero3.OnTapped = func() { + team3 = container.NewGridWithColumns(5) + if t, ok := s.teams[3]; ok { + for _, i := range t.Infos { + team3.AddObject(widget.NewLabel(common.LastChars(i.HeroId, 4))) + } + } + teams := []*pb.ChallengeTeamInfo{} + for _, id := range s.itemList.SelItemIds { + team3.AddObject(widget.NewLabel(common.LastChars(id, 4))) + teams = append(teams, &pb.ChallengeTeamInfo{ + HeroId: id, + }) + } + if s.teams == nil { + s.teams = make(map[int32]*pb.ChallengeTeams) + } + s.teams[3] = &pb.ChallengeTeams{Infos: teams} + } + + // 保存阵容 + saveBuzhen.OnTapped = func() { + if err := service.GetPttService().SendToClient(string(comm.ModuleSociaty), + sociaty.SociatySubTypeFormation, &pb.SociatyBFormationReq{ + SociatyId: s.sociatyId, + Teams: s.teams, + }); err != nil { + logrus.Error(err) + return + } + } + + split := container.NewHSplit(s.itemList.ItemList, content) + split.Offset = 0.55 + layout := container.NewBorder(btns, nil, nil, nil, split) + dconf := dialog.NewCustom("布阵", "关闭", layout, s.w) + dconf.Resize(fyne.NewSize(800, 500)) + dconf.Show() +} + +func (this *SociatyBossView) HeroDataListener() { + if this.heroListFlag { + return + } + this.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleHero) && + data.SubType == hero.HeroSubTypeList) { + return + } + rsp := &pb.HeroListResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + for i, v := range rsp.List { + item := common.Item{ + Id: v.Id, + Text: fmt.Sprintf("%d ID:%v Star:%d Lv:%d Type:%d Count:%d", + i+1, v.HeroID, v.Star, v.Lv, v.CardType, v.SameCount), + } + this.itemList.AddItem(item) + } + }, + }) + this.heroListFlag = true } diff --git a/modules/sociaty/api.go b/modules/sociaty/api.go index a77144ca6..9a894c31d 100644 --- a/modules/sociaty/api.go +++ b/modules/sociaty/api.go @@ -34,6 +34,7 @@ const ( SociatySubTypeLog = "log" SociatySubTypeAgreePush = "agree" SociatySubTypeRecord = "record" + SociatySubTypeFormation = "formation" ) type apiComp struct { diff --git a/modules/sociaty/api_cross_Formation.go b/modules/sociaty/api_cross_Formation.go new file mode 100644 index 000000000..c390631ff --- /dev/null +++ b/modules/sociaty/api_cross_Formation.go @@ -0,0 +1,43 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 设置阵容 +func (this *apiComp) FormationCheck(session comm.IUserSession, req *pb.SociatyBFormationReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Formation(session comm.IUserSession, req *pb.SociatyBFormationReq) (code pb.ErrorCode, data proto.Message) { + if code = this.FormationCheck(session, req); code != pb.ErrorCode_Success { + return + } + + uid := session.GetUserId() + sociaty := this.module.modelSociaty.getUserSociaty(uid) + if sociaty != nil && sociaty.Id == "" { + code = pb.ErrorCode_SociatyNoFound + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) + return + } + + if err := this.module.modelSociatyBoss.setFormation(sociaty, uid, req.Teams); err != nil { + this.module.Error("设置阵容", log.Field{Key: "uid", Value: uid}) + code = pb.ErrorCode_DBError + return + } + + rsp := &pb.SociatyBFormationResp{ + SociatyId: sociaty.Id, + } + + if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeFormation, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/sociaty/api_cross_challenge.go b/modules/sociaty/api_cross_challenge.go new file mode 100644 index 000000000..b43e28a8f --- /dev/null +++ b/modules/sociaty/api_cross_challenge.go @@ -0,0 +1,16 @@ +package sociaty + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.SociatyBChallengeReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Challenge(session comm.IUserSession, req *pb.SociatyBChallengeReq) (code pb.ErrorCode, data proto.Message) { + return +} diff --git a/modules/sociaty/api_cross_mine.go b/modules/sociaty/api_cross_mine.go index c95806eb3..61a38fbcd 100644 --- a/modules/sociaty/api_cross_mine.go +++ b/modules/sociaty/api_cross_mine.go @@ -90,6 +90,11 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (co ) } } + + if sm := this.module.modelSociaty.getMemberInfo(sociaty, uid); sm != nil { + rsp.Teams = sm.Teams + } + rsp.Sociaty = sociaty rsp.Master = master diff --git a/modules/sociaty/api_cross_setFormation.go b/modules/sociaty/api_cross_setFormation.go deleted file mode 100644 index 855a2265e..000000000 --- a/modules/sociaty/api_cross_setFormation.go +++ /dev/null @@ -1,16 +0,0 @@ -package sociaty - -import ( - "go_dreamfactory/comm" - "go_dreamfactory/pb" - - "google.golang.org/protobuf/proto" -) -// 设置阵容 -func (this *apiComp) SetFormationCheck(session comm.IUserSession, req *pb.SociatyBSetFormationReq) (code pb.ErrorCode) { - return -} - -func (this *apiComp) SetFormation(session comm.IUserSession, req *pb.SociatyBSetFormationReq) (code pb.ErrorCode, data proto.Message) { - return -} diff --git a/modules/sociaty/model_sociaty.go b/modules/sociaty/model_sociaty.go index 41ab17672..0b13c3518 100644 --- a/modules/sociaty/model_sociaty.go +++ b/modules/sociaty/model_sociaty.go @@ -468,6 +468,16 @@ func (this *ModelSociaty) getMemberIds(sociaty *pb.DBSociaty) (ids []string) { return } +// 获取成员信息 +func (this *ModelSociaty) getMemberInfo(sociaty *pb.DBSociaty, uid string) *pb.SociatyMember { + for _, s := range sociaty.Members { + if s.Uid == uid { + return s + } + } + return nil +} + // 同意 func (this *ModelSociaty) agree(uid string, sociaty *pb.DBSociaty) error { if this.isMember(uid, sociaty) { diff --git a/modules/sociaty/model_sociatyboss.go b/modules/sociaty/model_sociatyboss.go index 8fae065ab..0dcb8ef0d 100644 --- a/modules/sociaty/model_sociatyboss.go +++ b/modules/sociaty/model_sociatyboss.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + "go_dreamfactory/pb" ) type ModelSociatyBoss struct { @@ -20,6 +21,37 @@ func (this *ModelSociatyBoss) Init(service core.IService, module core.IModule, c return } -func(s *ModelSociatyBoss) setFormation(){ - -} \ No newline at end of file +// 设置阵容 +func (s *ModelSociatyBoss) setFormation(sociaty *pb.DBSociaty, uid string, teams map[int32]*pb.ChallengeTeams) error { + if !s.moduleSociaty.modelSociaty.isMember(uid, sociaty) { + return comm.NewCustomError(pb.ErrorCode_SociatyBelongTo) + } + for _, m := range sociaty.Members { + if m.Uid == uid { + m.Teams = teams + } + } + + update := map[string]interface{}{ + "members": sociaty.Members, + } + return s.moduleSociaty.modelSociaty.updateSociaty(sociaty.Id, update) +} + +//挑战 +func (s *ModelSociatyBoss) challenge(session comm.IUserSession) error { + + iBattle, err := s.moduleSociaty.service.GetModule(comm.ModuleBattle) + if err != nil { + return err + } + + if b, y := iBattle.(comm.IBattle); y { + b.CreatePveBattle(session, &pb.BattlePVEReq{ + Ptype: pb.PlayType_sociaty, + Title: "公会BOSS", + Format: &pb.BattleFormation{}, + }) + } + return nil +} diff --git a/modules/sociaty/module.go b/modules/sociaty/module.go index 2a194f2fa..ab1579c96 100644 --- a/modules/sociaty/module.go +++ b/modules/sociaty/module.go @@ -29,6 +29,7 @@ type Sociaty struct { modelSociaty *ModelSociaty modelSociatyTask *ModelSociatyTask modelSociatyLog *ModelSociatyLog + modelSociatyBoss *ModelSociatyBoss configure *configureComp globalConf *cfg.GameGlobalData sociatyActivityConf *cfg.GameGuildActivity @@ -57,6 +58,7 @@ func (this *Sociaty) OnInstallComp() { this.modelSociaty = this.RegisterComp(new(ModelSociaty)).(*ModelSociaty) this.modelSociatyTask = this.RegisterComp(new(ModelSociatyTask)).(*ModelSociatyTask) this.modelSociatyLog = this.RegisterComp(new(ModelSociatyLog)).(*ModelSociatyLog) + this.modelSociatyBoss = this.RegisterComp(new(ModelSociatyBoss)).(*ModelSociatyBoss) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } diff --git a/pb/sociaty_db.pb.go b/pb/sociaty_db.pb.go index 6a0dfc809..fb87a81a7 100644 --- a/pb/sociaty_db.pb.go +++ b/pb/sociaty_db.pb.go @@ -800,8 +800,7 @@ type ChallengeTeamInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` //英雄ID - IsChapter bool `protobuf:"varint,2,opt,name=isChapter,proto3" json:"isChapter" bson:"isChapter"` //是否队长 + HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` //英雄ID } func (x *ChallengeTeamInfo) Reset() { @@ -843,19 +842,12 @@ func (x *ChallengeTeamInfo) GetHeroId() string { return "" } -func (x *ChallengeTeamInfo) GetIsChapter() bool { - if x != nil { - return x.IsChapter - } - return false -} - type ChallengeTeams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Info []*ChallengeTeamInfo `protobuf:"bytes,1,rep,name=info,proto3" json:"info" bson:"teamInfo"` //队伍 + Infos []*ChallengeTeamInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos" bson:"teamInfo"` //队伍 } func (x *ChallengeTeams) Reset() { @@ -890,9 +882,9 @@ func (*ChallengeTeams) Descriptor() ([]byte, []int) { return file_sociaty_sociaty_db_proto_rawDescGZIP(), []int{10} } -func (x *ChallengeTeams) GetInfo() []*ChallengeTeamInfo { +func (x *ChallengeTeams) GetInfos() []*ChallengeTeamInfo { if x != nil { - return x.Info + return x.Infos } return nil } @@ -1090,41 +1082,39 @@ var file_sociaty_sociaty_db_proto_rawDesc = []byte{ 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x11, 0x43, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x43, 0x68, - 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x43, - 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x22, 0x38, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, - 0x22, 0xb1, 0x02, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x6f, - 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x12, 0x35, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, - 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4a, - 0x6f, 0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, 0x50, 0x52, 0x45, 0x53, - 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x53, 0x49, - 0x44, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x6e, + 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x13, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x44, 0x42, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, + 0x6f, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x49, 0x0a, + 0x0a, 0x54, 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x50, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x4a, 0x4f, 0x42, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x49, 0x43, 0x45, + 0x50, 0x52, 0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, + 0x52, 0x45, 0x53, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1166,7 +1156,7 @@ var file_sociaty_sociaty_db_proto_depIdxs = []int32{ 4, // 4: DBSociatyLog.list:type_name -> SociatyLog 7, // 5: DBSociatyTask.taskList:type_name -> SociatyTask 8, // 6: DBSociatyTask.activityList:type_name -> SociatyActivity - 10, // 7: ChallengeTeams.info:type_name -> ChallengeTeamInfo + 10, // 7: ChallengeTeams.infos:type_name -> ChallengeTeamInfo 14, // 8: DBSociatyBossRecord.teams:type_name -> DBSociatyBossRecord.TeamsEntry 11, // 9: SociatyMember.TeamsEntry.value:type_name -> ChallengeTeams 11, // 10: DBSociatyBossRecord.TeamsEntry.value:type_name -> ChallengeTeams diff --git a/pb/sociaty_msg.pb.go b/pb/sociaty_msg.pb.go index 2558aff01..cd3930405 100644 --- a/pb/sociaty_msg.pb.go +++ b/pb/sociaty_msg.pb.go @@ -2743,17 +2743,17 @@ func (x *SociatyPAgreePush) GetSociatyId() string { } // 公会BOSS 布阵 -type SociatyBSetFormationReq struct { +type SociatyBFormationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` - Teams map[int32]*ChallengeTeams `protobuf:"bytes,2,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //队伍信息 队伍编号1 2 3 + Teams map[int32]*ChallengeTeams `protobuf:"bytes,2,rep,name=teams,proto3" json:"teams" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //队伍信息,队伍编号1 2 3,从1开始 } -func (x *SociatyBSetFormationReq) Reset() { - *x = SociatyBSetFormationReq{} +func (x *SociatyBFormationReq) Reset() { + *x = SociatyBFormationReq{} if protoimpl.UnsafeEnabled { mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2761,13 +2761,13 @@ func (x *SociatyBSetFormationReq) Reset() { } } -func (x *SociatyBSetFormationReq) String() string { +func (x *SociatyBFormationReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SociatyBSetFormationReq) ProtoMessage() {} +func (*SociatyBFormationReq) ProtoMessage() {} -func (x *SociatyBSetFormationReq) ProtoReflect() protoreflect.Message { +func (x *SociatyBFormationReq) ProtoReflect() protoreflect.Message { mi := &file_sociaty_sociaty_msg_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2779,26 +2779,26 @@ func (x *SociatyBSetFormationReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SociatyBSetFormationReq.ProtoReflect.Descriptor instead. -func (*SociatyBSetFormationReq) Descriptor() ([]byte, []int) { +// Deprecated: Use SociatyBFormationReq.ProtoReflect.Descriptor instead. +func (*SociatyBFormationReq) Descriptor() ([]byte, []int) { return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{53} } -func (x *SociatyBSetFormationReq) GetSociatyId() string { +func (x *SociatyBFormationReq) GetSociatyId() string { if x != nil { return x.SociatyId } return "" } -func (x *SociatyBSetFormationReq) GetTeams() map[int32]*ChallengeTeams { +func (x *SociatyBFormationReq) GetTeams() map[int32]*ChallengeTeams { if x != nil { return x.Teams } return nil } -type SociatyBSetFormationResp struct { +type SociatyBFormationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2807,8 +2807,8 @@ type SociatyBSetFormationResp struct { Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` } -func (x *SociatyBSetFormationResp) Reset() { - *x = SociatyBSetFormationResp{} +func (x *SociatyBFormationResp) Reset() { + *x = SociatyBFormationResp{} if protoimpl.UnsafeEnabled { mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2816,13 +2816,13 @@ func (x *SociatyBSetFormationResp) Reset() { } } -func (x *SociatyBSetFormationResp) String() string { +func (x *SociatyBFormationResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SociatyBSetFormationResp) ProtoMessage() {} +func (*SociatyBFormationResp) ProtoMessage() {} -func (x *SociatyBSetFormationResp) ProtoReflect() protoreflect.Message { +func (x *SociatyBFormationResp) ProtoReflect() protoreflect.Message { mi := &file_sociaty_sociaty_msg_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2834,19 +2834,113 @@ func (x *SociatyBSetFormationResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SociatyBSetFormationResp.ProtoReflect.Descriptor instead. -func (*SociatyBSetFormationResp) Descriptor() ([]byte, []int) { +// Deprecated: Use SociatyBFormationResp.ProtoReflect.Descriptor instead. +func (*SociatyBFormationResp) Descriptor() ([]byte, []int) { return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{54} } -func (x *SociatyBSetFormationResp) GetSociatyId() string { +func (x *SociatyBFormationResp) GetSociatyId() string { if x != nil { return x.SociatyId } return "" } -func (x *SociatyBSetFormationResp) GetUid() string { +func (x *SociatyBFormationResp) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +// 公会BOSS挑战 +type SociatyBChallengeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SociatyBChallengeReq) Reset() { + *x = SociatyBChallengeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBChallengeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBChallengeReq) ProtoMessage() {} + +func (x *SociatyBChallengeReq) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + 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 SociatyBChallengeReq.ProtoReflect.Descriptor instead. +func (*SociatyBChallengeReq) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{55} +} + +type SociatyBChallengeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` +} + +func (x *SociatyBChallengeResp) Reset() { + *x = SociatyBChallengeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SociatyBChallengeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SociatyBChallengeResp) ProtoMessage() {} + +func (x *SociatyBChallengeResp) ProtoReflect() protoreflect.Message { + mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + 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 SociatyBChallengeResp.ProtoReflect.Descriptor instead. +func (*SociatyBChallengeResp) Descriptor() ([]byte, []int) { + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{56} +} + +func (x *SociatyBChallengeResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBChallengeResp) GetUid() string { if x != nil { return x.Uid } @@ -2865,7 +2959,7 @@ type SociatyBFormationRecoReq struct { func (x *SociatyBFormationRecoReq) Reset() { *x = SociatyBFormationRecoReq{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2878,7 +2972,7 @@ func (x *SociatyBFormationRecoReq) String() string { func (*SociatyBFormationRecoReq) ProtoMessage() {} func (x *SociatyBFormationRecoReq) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[55] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2891,7 +2985,7 @@ func (x *SociatyBFormationRecoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBFormationRecoReq.ProtoReflect.Descriptor instead. func (*SociatyBFormationRecoReq) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{55} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{57} } func (x *SociatyBFormationRecoReq) GetCate() int32 { @@ -2912,7 +3006,7 @@ type SociatyBFormationRecoResp struct { func (x *SociatyBFormationRecoResp) Reset() { *x = SociatyBFormationRecoResp{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2925,7 +3019,7 @@ func (x *SociatyBFormationRecoResp) String() string { func (*SociatyBFormationRecoResp) ProtoMessage() {} func (x *SociatyBFormationRecoResp) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[56] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2938,7 +3032,7 @@ func (x *SociatyBFormationRecoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBFormationRecoResp.ProtoReflect.Descriptor instead. func (*SociatyBFormationRecoResp) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{56} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{58} } func (x *SociatyBFormationRecoResp) GetTeams() map[int32]*ChallengeTeams { @@ -2961,7 +3055,7 @@ type SociatyBReceiveReq struct { func (x *SociatyBReceiveReq) Reset() { *x = SociatyBReceiveReq{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2974,7 +3068,7 @@ func (x *SociatyBReceiveReq) String() string { func (*SociatyBReceiveReq) ProtoMessage() {} func (x *SociatyBReceiveReq) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[57] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2987,7 +3081,7 @@ func (x *SociatyBReceiveReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBReceiveReq.ProtoReflect.Descriptor instead. func (*SociatyBReceiveReq) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{57} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{59} } func (x *SociatyBReceiveReq) GetSociatyId() string { @@ -3008,12 +3102,15 @@ type SociatyBReceiveResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + SociatyId string `protobuf:"bytes,1,opt,name=sociatyId,proto3" json:"sociatyId"` + TaskId int32 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId"` } func (x *SociatyBReceiveResp) Reset() { *x = SociatyBReceiveResp{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3026,7 +3123,7 @@ func (x *SociatyBReceiveResp) String() string { func (*SociatyBReceiveResp) ProtoMessage() {} func (x *SociatyBReceiveResp) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[58] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3039,7 +3136,21 @@ func (x *SociatyBReceiveResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBReceiveResp.ProtoReflect.Descriptor instead. func (*SociatyBReceiveResp) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{58} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{60} +} + +func (x *SociatyBReceiveResp) GetSociatyId() string { + if x != nil { + return x.SociatyId + } + return "" +} + +func (x *SociatyBReceiveResp) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 } //公会BOSS 排名 @@ -3054,7 +3165,7 @@ type SociatyBRankReq struct { func (x *SociatyBRankReq) Reset() { *x = SociatyBRankReq{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3067,7 +3178,7 @@ func (x *SociatyBRankReq) String() string { func (*SociatyBRankReq) ProtoMessage() {} func (x *SociatyBRankReq) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[59] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3080,7 +3191,7 @@ func (x *SociatyBRankReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBRankReq.ProtoReflect.Descriptor instead. func (*SociatyBRankReq) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{59} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{61} } func (x *SociatyBRankReq) GetRankType() int32 { @@ -3106,7 +3217,7 @@ type SociatyRankInfo struct { func (x *SociatyRankInfo) Reset() { *x = SociatyRankInfo{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3119,7 +3230,7 @@ func (x *SociatyRankInfo) String() string { func (*SociatyRankInfo) ProtoMessage() {} func (x *SociatyRankInfo) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[60] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3132,7 +3243,7 @@ func (x *SociatyRankInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyRankInfo.ProtoReflect.Descriptor instead. func (*SociatyRankInfo) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{60} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{62} } func (x *SociatyRankInfo) GetName() string { @@ -3188,7 +3299,7 @@ type SociatyBRankResp struct { func (x *SociatyBRankResp) Reset() { *x = SociatyBRankResp{} if protoimpl.UnsafeEnabled { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3201,7 +3312,7 @@ func (x *SociatyBRankResp) String() string { func (*SociatyBRankResp) ProtoMessage() {} func (x *SociatyBRankResp) ProtoReflect() protoreflect.Message { - mi := &file_sociaty_sociaty_msg_proto_msgTypes[61] + mi := &file_sociaty_sociaty_msg_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3214,7 +3325,7 @@ func (x *SociatyBRankResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SociatyBRankResp.ProtoReflect.Descriptor instead. func (*SociatyBRankResp) Descriptor() ([]byte, []int) { - return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{61} + return file_sociaty_sociaty_msg_proto_rawDescGZIP(), []int{63} } func (x *SociatyBRankResp) GetRank() []*SociatyRankInfo { @@ -3431,65 +3542,74 @@ var file_sociaty_sociaty_msg_proto_rawDesc = []byte{ 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x49, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x42, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, - 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, - 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, - 0x53, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x22, 0x2e, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x61, 0x74, 0x65, - 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, - 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, - 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, - 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x65, 0x61, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x6c, 0x76, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x24, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x41, - 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x10, 0x01, 0x12, - 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x79, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x74, + 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, + 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, + 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x22, + 0x47, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x18, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x61, 0x74, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x42, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x65, + 0x61, 0x6d, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 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, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, + 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x13, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, + 0x61, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x6c, 0x76, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, + 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x72, 0x61, 0x6e, 0x6b, 0x2a, 0x42, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x10, 0x01, 0x12, 0x0b, 0x0a, + 0x07, 0x4e, 0x4f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, + 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3505,7 +3625,7 @@ func file_sociaty_sociaty_msg_proto_rawDescGZIP() []byte { } var file_sociaty_sociaty_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 65) +var file_sociaty_sociaty_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 67) var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (SociatyListFilter)(0), // 0: SociatyListFilter (*SociatyCreateReq)(nil), // 1: SociatyCreateReq @@ -3561,48 +3681,50 @@ var file_sociaty_sociaty_msg_proto_goTypes = []interface{}{ (*SociatyRankResp)(nil), // 51: SociatyRankResp (*SociatyPDismissPush)(nil), // 52: SociatyPDismissPush (*SociatyPAgreePush)(nil), // 53: SociatyPAgreePush - (*SociatyBSetFormationReq)(nil), // 54: SociatyBSetFormationReq - (*SociatyBSetFormationResp)(nil), // 55: SociatyBSetFormationResp - (*SociatyBFormationRecoReq)(nil), // 56: SociatyBFormationRecoReq - (*SociatyBFormationRecoResp)(nil), // 57: SociatyBFormationRecoResp - (*SociatyBReceiveReq)(nil), // 58: SociatyBReceiveReq - (*SociatyBReceiveResp)(nil), // 59: SociatyBReceiveResp - (*SociatyBRankReq)(nil), // 60: SociatyBRankReq - (*SociatyRankInfo)(nil), // 61: SociatyRankInfo - (*SociatyBRankResp)(nil), // 62: SociatyBRankResp - nil, // 63: SociatyMineResp.TeamsEntry - nil, // 64: SociatyBSetFormationReq.TeamsEntry - nil, // 65: SociatyBFormationRecoResp.TeamsEntry - (*DBSociaty)(nil), // 66: DBSociaty - (SociatyJob)(0), // 67: SociatyJob - (*DBSociatyLog)(nil), // 68: DBSociatyLog - (*SociatyTask)(nil), // 69: SociatyTask - (*SociatyActivity)(nil), // 70: SociatyActivity - (*DBSociatyRank)(nil), // 71: DBSociatyRank - (*ChallengeTeams)(nil), // 72: ChallengeTeams + (*SociatyBFormationReq)(nil), // 54: SociatyBFormationReq + (*SociatyBFormationResp)(nil), // 55: SociatyBFormationResp + (*SociatyBChallengeReq)(nil), // 56: SociatyBChallengeReq + (*SociatyBChallengeResp)(nil), // 57: SociatyBChallengeResp + (*SociatyBFormationRecoReq)(nil), // 58: SociatyBFormationRecoReq + (*SociatyBFormationRecoResp)(nil), // 59: SociatyBFormationRecoResp + (*SociatyBReceiveReq)(nil), // 60: SociatyBReceiveReq + (*SociatyBReceiveResp)(nil), // 61: SociatyBReceiveResp + (*SociatyBRankReq)(nil), // 62: SociatyBRankReq + (*SociatyRankInfo)(nil), // 63: SociatyRankInfo + (*SociatyBRankResp)(nil), // 64: SociatyBRankResp + nil, // 65: SociatyMineResp.TeamsEntry + nil, // 66: SociatyBFormationReq.TeamsEntry + nil, // 67: SociatyBFormationRecoResp.TeamsEntry + (*DBSociaty)(nil), // 68: DBSociaty + (SociatyJob)(0), // 69: SociatyJob + (*DBSociatyLog)(nil), // 70: DBSociatyLog + (*SociatyTask)(nil), // 71: SociatyTask + (*SociatyActivity)(nil), // 72: SociatyActivity + (*DBSociatyRank)(nil), // 73: DBSociatyRank + (*ChallengeTeams)(nil), // 74: ChallengeTeams } var file_sociaty_sociaty_msg_proto_depIdxs = []int32{ 0, // 0: SociatyListReq.filter:type_name -> SociatyListFilter - 66, // 1: SociatyListResp.list:type_name -> DBSociaty - 66, // 2: SociatySearchResp.list:type_name -> DBSociaty - 66, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty + 68, // 1: SociatyListResp.list:type_name -> DBSociaty + 68, // 2: SociatySearchResp.list:type_name -> DBSociaty + 68, // 3: SociatyMineResp.sociaty:type_name -> DBSociaty 11, // 4: SociatyMineResp.master:type_name -> SociatyMemberInfo - 63, // 5: SociatyMineResp.teams:type_name -> SociatyMineResp.TeamsEntry - 67, // 6: SociatyMemberInfo.job:type_name -> SociatyJob + 65, // 5: SociatyMineResp.teams:type_name -> SociatyMineResp.TeamsEntry + 69, // 6: SociatyMemberInfo.job:type_name -> SociatyJob 11, // 7: SociatyApplyListResp.list:type_name -> SociatyMemberInfo 11, // 8: SociatyMembersResp.list:type_name -> SociatyMemberInfo - 67, // 9: SociatySettingJobReq.job:type_name -> SociatyJob - 67, // 10: SociatySettingJobResp.job:type_name -> SociatyJob - 68, // 11: SociatyLogResp.log:type_name -> DBSociatyLog - 69, // 12: SociatyTaskListResp.list:type_name -> SociatyTask - 70, // 13: SociatyActivityListResp.list:type_name -> SociatyActivity - 71, // 14: SociatyRankResp.rank:type_name -> DBSociatyRank - 64, // 15: SociatyBSetFormationReq.teams:type_name -> SociatyBSetFormationReq.TeamsEntry - 65, // 16: SociatyBFormationRecoResp.teams:type_name -> SociatyBFormationRecoResp.TeamsEntry - 61, // 17: SociatyBRankResp.rank:type_name -> SociatyRankInfo - 72, // 18: SociatyMineResp.TeamsEntry.value:type_name -> ChallengeTeams - 72, // 19: SociatyBSetFormationReq.TeamsEntry.value:type_name -> ChallengeTeams - 72, // 20: SociatyBFormationRecoResp.TeamsEntry.value:type_name -> ChallengeTeams + 69, // 9: SociatySettingJobReq.job:type_name -> SociatyJob + 69, // 10: SociatySettingJobResp.job:type_name -> SociatyJob + 70, // 11: SociatyLogResp.log:type_name -> DBSociatyLog + 71, // 12: SociatyTaskListResp.list:type_name -> SociatyTask + 72, // 13: SociatyActivityListResp.list:type_name -> SociatyActivity + 73, // 14: SociatyRankResp.rank:type_name -> DBSociatyRank + 66, // 15: SociatyBFormationReq.teams:type_name -> SociatyBFormationReq.TeamsEntry + 67, // 16: SociatyBFormationRecoResp.teams:type_name -> SociatyBFormationRecoResp.TeamsEntry + 63, // 17: SociatyBRankResp.rank:type_name -> SociatyRankInfo + 74, // 18: SociatyMineResp.TeamsEntry.value:type_name -> ChallengeTeams + 74, // 19: SociatyBFormationReq.TeamsEntry.value:type_name -> ChallengeTeams + 74, // 20: SociatyBFormationRecoResp.TeamsEntry.value:type_name -> ChallengeTeams 21, // [21:21] is the sub-list for method output_type 21, // [21:21] is the sub-list for method input_type 21, // [21:21] is the sub-list for extension type_name @@ -4254,7 +4376,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBSetFormationReq); i { + switch v := v.(*SociatyBFormationReq); i { case 0: return &v.state case 1: @@ -4266,7 +4388,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBSetFormationResp); i { + switch v := v.(*SociatyBFormationResp); i { case 0: return &v.state case 1: @@ -4278,7 +4400,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBFormationRecoReq); i { + switch v := v.(*SociatyBChallengeReq); i { case 0: return &v.state case 1: @@ -4290,7 +4412,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBFormationRecoResp); i { + switch v := v.(*SociatyBChallengeResp); i { case 0: return &v.state case 1: @@ -4302,7 +4424,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBReceiveReq); i { + switch v := v.(*SociatyBFormationRecoReq); i { case 0: return &v.state case 1: @@ -4314,7 +4436,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBReceiveResp); i { + switch v := v.(*SociatyBFormationRecoResp); i { case 0: return &v.state case 1: @@ -4326,7 +4448,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyBRankReq); i { + switch v := v.(*SociatyBReceiveReq); i { case 0: return &v.state case 1: @@ -4338,7 +4460,7 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SociatyRankInfo); i { + switch v := v.(*SociatyBReceiveResp); i { case 0: return &v.state case 1: @@ -4350,6 +4472,30 @@ func file_sociaty_sociaty_msg_proto_init() { } } file_sociaty_sociaty_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyBRankReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SociatyRankInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sociaty_sociaty_msg_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SociatyBRankResp); i { case 0: return &v.state @@ -4368,7 +4514,7 @@ func file_sociaty_sociaty_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sociaty_sociaty_msg_proto_rawDesc, NumEnums: 1, - NumMessages: 65, + NumMessages: 67, NumExtensions: 0, NumServices: 0, }, From 9d1596b0ac8547f02700bfffcaf545d3ca47691c Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Wed, 11 Jan 2023 11:49:48 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_opencond.json | 26 + bin/json/game_worldtask.json | 1815 ++-------------------------------- modules/task/model_active.go | 21 +- 3 files changed, 102 insertions(+), 1760 deletions(-) diff --git a/bin/json/game_opencond.json b/bin/json/game_opencond.json index 48dfc4ce0..482e9e382 100644 --- a/bin/json/game_opencond.json +++ b/bin/json/game_opencond.json @@ -1364,5 +1364,31 @@ "text": "功能暂未开启" }, "uiid": 0 + }, + { + "id": "mainline_elite", + "name": { + "key": "num_2031", + "text": "主线关卡-困难" + }, + "main": [ + { + "key": "platlv", + "param": 5 + }, + { + "key": "maxmapid", + "param": 1 + } + ], + "optional": "", + "wkqbx": 0, + "kqbx": 0, + "img": "zc_icon_01", + "prompt": { + "key": "opencond_prompt_mainline_elite", + "text": "功能暂未开启" + }, + "uiid": 0 } ] \ No newline at end of file diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 3eb1ed632..0086d5c1f 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -1,1733 +1,4 @@ [ - { - "key": 10100, - "lock": 1, - "ontxe": 9999, - "id_after": 0, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1001 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - } - ] - }, - { - "key": 10101, - "lock": 1, - "ontxe": 10100, - "id_after": 10102, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "邦尼兔组件名入场", - "150" - ], - "getafter_event": [ - 2, - 1002 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10102, - "lock": 1, - "ontxe": 10101, - "id_after": 10103, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1003 - ], - "completetask": 171, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10103, - "lock": 1, - "ontxe": 10102, - "id_after": 10104, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1051 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10104, - "lock": 1, - "ontxe": 10103, - "id_after": 10105, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "dreamwork_restaurant_01", - "美食馆-波比组件名", - "701" - ], - "getafter_event": [ - 2, - 1005 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - }, - { - "a": "item", - "t": "30001", - "n": 1 - } - ] - }, - { - "key": 10105, - "lock": 1, - "ontxe": 10104, - "id_after": 10106, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1006 - ], - "completetask": 118, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10106, - "lock": 1, - "ontxe": 10105, - "id_after": 10107, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1007 - ], - "completetask": 175, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24004", - "n": 1 - } - ] - }, - { - "key": 10107, - "lock": 1, - "ontxe": 10106, - "id_after": 10108, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1008 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10108, - "lock": 1, - "ontxe": 10107, - "id_after": 10109, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 1009 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10109, - "lock": 1, - "ontxe": 10108, - "id_after": 10110, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "戈伯组件名", - "153" - ], - "getafter_event": [ - 2, - 10010 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10110, - "lock": 1, - "ontxe": 10109, - "id_after": 101101, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_smithy_01", - "戈伯铁匠铺组件名", - "703" - ], - "getafter_event": [ - 2, - 10012 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 101101, - "lock": 1, - "ontxe": 10110, - "id_after": 101102, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏1", - "153" - ], - "getafter_event": [ - 2, - 101 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101102, - "lock": 1, - "ontxe": 101101, - "id_after": 10111, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏1", - "153" - ], - "getafter_event": [ - 5, - 10001 - ], - "completetask": 183, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10111, - "lock": 1, - "ontxe": 101102, - "id_after": 101111, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "男主角铁匠铺出来模型", - "153" - ], - "getafter_event": [ - 2, - 10013 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101111, - "lock": 1, - "ontxe": 10111, - "id_after": 10112, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏2", - "153" - ], - "getafter_event": [ - 5, - 10002 - ], - "completetask": 184, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10112, - "lock": 1, - "ontxe": 101111, - "id_after": 10113, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥组件名", - "153" - ], - "getafter_event": [ - 2, - 10099 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10113, - "lock": 1, - "ontxe": 10112, - "id_after": 101131, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_ boundary_02", - "贫嘴驴组件名", - "704" - ], - "getafter_event": [ - 2, - 10014 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 101131, - "lock": 1, - "ontxe": 10113, - "id_after": 101132, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥图书馆外", - "153" - ], - "getafter_event": [ - 2, - 102 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101132, - "lock": 1, - "ontxe": 101131, - "id_after": 10114, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "黑雾门右屏3", - "153" - ], - "getafter_event": [ - 5, - 10003 - ], - "completetask": 185, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10114, - "lock": 1, - "ontxe": 101132, - "id_after": 10115, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "test_library", - "贫嘴驴组件名", - "704" - ], - "getafter_event": [ - 2, - 10015 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10115, - "lock": 1, - "ontxe": 10114, - "id_after": 10116, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_02night", - "瓜哥夜晚组件名", - "153" - ], - "getafter_event": [ - 2, - 10016 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10116, - "lock": 1, - "ontxe": 10115, - "id_after": 10117, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_02night", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10017 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10117, - "lock": 1, - "ontxe": 10116, - "id_after": 10118, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10018 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10118, - "lock": 1, - "ontxe": 10117, - "id_after": 10119, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10019 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10119, - "lock": 1, - "ontxe": 10118, - "id_after": 10120, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10020 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10120, - "lock": 1, - "ontxe": 10119, - "id_after": 10121, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10021 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24002", - "n": 1 - } - ] - }, - { - "key": 10121, - "lock": 1, - "ontxe": 10120, - "id_after": 101211, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10022 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101211, - "lock": 1, - "ontxe": 10121, - "id_after": 10122, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "风车黑雾门", - "151" - ], - "getafter_event": [ - 5, - 10004 - ], - "completetask": 186, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10122, - "lock": 1, - "ontxe": 101211, - "id_after": 10123, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10023 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10123, - "lock": 1, - "ontxe": 10122, - "id_after": 10124, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10024 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10124, - "lock": 1, - "ontxe": 10123, - "id_after": 101241, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥2", - "702" - ], - "getafter_event": [ - 2, - 10025 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [ - { - "a": "hero", - "t": "24003", - "n": 1 - } - ] - }, - { - "key": 101241, - "lock": 1, - "ontxe": 10124, - "id_after": 10125, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "关卡羊1", - "702" - ], - "getafter_event": [ - 5, - 10005 - ], - "completetask": 195, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10125, - "lock": 1, - "ontxe": 101241, - "id_after": 10126, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10026 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10126, - "lock": 1, - "ontxe": 10125, - "id_after": 101261, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10027 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101261, - "lock": 1, - "ontxe": 10126, - "id_after": 10127, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "艾雷特关卡1", - "702" - ], - "getafter_event": [ - 5, - 10006 - ], - "completetask": 196, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10127, - "lock": 1, - "ontxe": 101261, - "id_after": 101271, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10028 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101271, - "lock": 1, - "ontxe": 10127, - "id_after": 10128, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "艾雷特关卡2", - "702" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 197, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10128, - "lock": 1, - "ontxe": 101271, - "id_after": 10129, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10029 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10129, - "lock": 1, - "ontxe": 10128, - "id_after": 10130, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10030 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10130, - "lock": 1, - "ontxe": 10129, - "id_after": 101301, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆瓜哥", - "702" - ], - "getafter_event": [ - 2, - 10031 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101301, - "lock": 1, - "ontxe": 10130, - "id_after": 10131, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆黑门2", - "702" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 201, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10131, - "lock": 1, - "ontxe": 101301, - "id_after": 10132, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥维京区", - "151" - ], - "getafter_event": [ - 2, - 10033 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10132, - "lock": 1, - "ontxe": 10131, - "id_after": 10133, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10034 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10133, - "lock": 1, - "ontxe": 10132, - "id_after": 10134, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10035 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10134, - "lock": 1, - "ontxe": 10133, - "id_after": 10135, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10036 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10135, - "lock": 1, - "ontxe": 10134, - "id_after": 10136, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10037 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10136, - "lock": 1, - "ontxe": 10135, - "id_after": 10137, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10038 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10137, - "lock": 1, - "ontxe": 10136, - "id_after": 10138, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆阿宝", - "702" - ], - "getafter_event": [ - 2, - 10039 - ], - "completetask": 179, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10138, - "lock": 1, - "ontxe": 10137, - "id_after": 10139, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "武馆阿宝", - "702" - ], - "getafter_event": [ - 2, - 10040 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10139, - "lock": 1, - "ontxe": 10138, - "id_after": 10140, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10041 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10140, - "lock": 1, - "ontxe": 10139, - "id_after": 10141, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10042 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10141, - "lock": 1, - "ontxe": 10140, - "id_after": 101141, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10043 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 101141, - "lock": 1, - "ontxe": 10141, - "id_after": 10142, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01", - "现代区黑雾门", - "152" - ], - "getafter_event": [ - 5, - 10007 - ], - "completetask": 202, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10142, - "lock": 1, - "ontxe": 101141, - "id_after": 10143, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10044 - ], - "completetask": 181, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10143, - "lock": 1, - "ontxe": 10142, - "id_after": 10144, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10045 - ], - "completetask": 182, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10144, - "lock": 1, - "ontxe": 10143, - "id_after": 10145, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10046 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10145, - "lock": 1, - "ontxe": 10144, - "id_after": 10146, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "瓜哥现代区", - "152" - ], - "getafter_event": [ - 2, - 10047 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10146, - "lock": 1, - "ontxe": 10145, - "id_after": 10147, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10048 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10147, - "lock": 1, - "ontxe": 10146, - "id_after": 10148, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10049 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10148, - "lock": 1, - "ontxe": 10147, - "id_after": 10149, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10050 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10149, - "lock": 1, - "ontxe": 10148, - "id_after": 10150, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10051 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10150, - "lock": 1, - "ontxe": 10149, - "id_after": 10151, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "波比组件名", - "704" - ], - "getafter_event": [ - 2, - 10052 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10151, - "lock": 1, - "ontxe": 10150, - "id_after": 10152, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10053 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10152, - "lock": 1, - "ontxe": 10151, - "id_after": 10153, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_boundary_01_recordtask", - "杰克", - "150" - ], - "getafter_event": [ - 2, - 10054 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10153, - "lock": 1, - "ontxe": 10152, - "id_after": 10154, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10055 - ], - "completetask": 0, - "auto_accept": 0, - "overtips": 1, - "reword": [] - }, - { - "key": 10154, - "lock": 1, - "ontxe": 10153, - "id_after": 10155, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10056 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10155, - "lock": 1, - "ontxe": 10154, - "id_after": 10156, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10057 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10156, - "lock": 1, - "ontxe": 10155, - "id_after": 10157, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10058 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10157, - "lock": 1, - "ontxe": 10156, - "id_after": 10158, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10059 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10158, - "lock": 1, - "ontxe": 10157, - "id_after": 10159, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10060 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10159, - "lock": 1, - "ontxe": 10158, - "id_after": 10160, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10061 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10160, - "lock": 1, - "ontxe": 10159, - "id_after": 10161, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10062 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10161, - "lock": 1, - "ontxe": 10160, - "id_after": 10162, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10063 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10162, - "lock": 1, - "ontxe": 10161, - "id_after": 10163, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10064 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10163, - "lock": 1, - "ontxe": 10162, - "id_after": 10164, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10065 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10164, - "lock": 1, - "ontxe": 10163, - "id_after": 10165, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10066 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, - { - "key": 10165, - "lock": 1, - "ontxe": 10164, - "id_after": 0, - "group": 1, - "des": 2, - "icon": "", - "npc": [ - "scenes_martialarts_01", - "原始人岛-武馆杰克", - "137" - ], - "getafter_event": [ - 2, - 10067 - ], - "completetask": 0, - "auto_accept": 1, - "overtips": 1, - "reword": [] - }, { "key": 30001, "lock": 1, @@ -1974,7 +245,7 @@ "key": 20010, "lock": 1, "ontxe": 0, - "id_after": 20020, + "id_after": 20011, "group": 2, "des": 2, "icon": "", @@ -1988,7 +259,7 @@ 401 ], "completetask": 0, - "auto_accept": 0, + "auto_accept": 1, "overtips": 1, "reword": [ { @@ -1999,9 +270,31 @@ ] }, { - "key": 20020, + "key": 20011, "lock": 1, "ontxe": 20010, + "id_after": 20020, + "group": 2, + "des": 2, + "icon": "", + "npc": [ + "scenes_boundary_01_recordtask", + "0新手引导-杰克-中轴城", + "150" + ], + "getafter_event": [ + 2, + 402 + ], + "completetask": 0, + "auto_accept": 0, + "overtips": 0, + "reword": [] + }, + { + "key": 20020, + "lock": 1, + "ontxe": 20011, "id_after": 20030, "group": 2, "des": 2, @@ -2013,7 +306,7 @@ ], "getafter_event": [ 2, - 401 + 403 ], "completetask": 0, "auto_accept": 0, @@ -2106,7 +399,13 @@ "completetask": 0, "auto_accept": 0, "overtips": 1, - "reword": [] + "reword": [ + { + "a": "hero", + "t": "14003", + "n": 1 + } + ] }, { "key": 20070, @@ -2145,7 +444,7 @@ ], "getafter_event": [ 2, - 411 + 422 ], "completetask": 0, "auto_accept": 0, @@ -2162,14 +461,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-瓜哥-右屏圣树", "153" ], "getafter_event": [ 2, - 411 + 412 ], - "completetask": 0, + "completetask": 174, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2184,15 +483,15 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-瓜哥-右屏圣树", "153" ], "getafter_event": [ 2, - 411 + 413 ], "completetask": 0, - "auto_accept": 0, + "auto_accept": 1, "overtips": 1, "reword": [] }, @@ -2206,14 +505,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-圣树下的黑洞", "153" ], "getafter_event": [ - 2, - 411 + 5, + 10008 ], - "completetask": 0, + "completetask": 198, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2228,12 +527,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-圣树下的犀牛守卫", "153" ], "getafter_event": [ 2, - 411 + 416 ], "completetask": 0, "auto_accept": 0, @@ -2255,7 +554,7 @@ ], "getafter_event": [ 2, - 411 + 420 ], "completetask": 0, "auto_accept": 0, @@ -2272,12 +571,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 422 ], "completetask": 0, "auto_accept": 0, @@ -2294,14 +593,14 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 423 ], - "completetask": 0, + "completetask": 118, "auto_accept": 0, "overtips": 1, "reword": [] @@ -2316,12 +615,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "新手引导-布兰奇-中轴城", "153" ], "getafter_event": [ 2, - 411 + 425 ], "completetask": 0, "auto_accept": 0, @@ -2338,12 +637,12 @@ "icon": "", "npc": [ "scenes_boundary_01_recordtask", - "新手引导-波比-右屏圣树2", + "0新手引导-杰克-中轴城", "153" ], "getafter_event": [ 2, - 411 + 426 ], "completetask": 0, "auto_accept": 0, @@ -2365,7 +664,7 @@ ], "getafter_event": [ 2, - 411 + 427 ], "completetask": 0, "auto_accept": 0, diff --git a/modules/task/model_active.go b/modules/task/model_active.go index 5fc5bca5a..706f6f0ee 100644 --- a/modules/task/model_active.go +++ b/modules/task/model_active.go @@ -91,6 +91,11 @@ func (this *ModelTaskActive) getActiveListByTag(uid string, taskTag comm.TaskTag // 查询完成的且未领取的任务 发现未领取返回true func (this *ModelTaskActive) noReceiveTaskActive(uid string, taskTag comm.TaskTag) (bool, error) { + // 获取玩家活跃度 + expand, err := this.moduleTask.ModuleUser.GetUserExpand(uid) + if err != nil { + return false, err + } task := &pb.DBActivity{} if err := this.Get(uid, task); err != nil { this.moduleTask.Errorf("getTaskActivityList err %v", err) @@ -99,7 +104,19 @@ func (this *ModelTaskActive) noReceiveTaskActive(uid string, taskTag comm.TaskTa for _, v := range task.ActivityList { if v.Tag == int32(taskTag) && v.Received == 0 { - return true, nil + conf := this.moduleTask.configure.getTaskActiveById(v.TaskId) + if conf != nil && expand != nil { + switch taskTag { + case comm.TASK_DAILY: + if expand.Activeday >= conf.Active { + return true, nil + } + case comm.TASK_WEEKLY: + if expand.Activeweek >= conf.Active { + return true, nil + } + } + } } } return false, nil @@ -130,7 +147,7 @@ func (this *ModelTaskActive) clearTask(uid string, taskTag ...comm.TaskTag) { return } data := this.getActiveList(uid) - for i:=0; i