From 0310fe06766ba8a706eda07fd1a30f1aaec7f904 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 6 Jun 2023 13:55:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E5=8C=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/academy/api_challenge.go | 38 +++-- modules/academy/api_info.go | 5 +- modules/academy/api_receive.go | 20 +-- modules/academy/api_teaching.go | 47 +++--- modules/academy/api_teachingreceive.go | 21 +-- modules/arena/api_plot.go | 53 +++---- modules/arena/api_plotreward.go | 21 +-- modules/arena/api_rank.go | 12 -- modules/arena/api_setdattformt.go | 13 +- modules/arena/api_setdefformt.go | 15 +- modules/arena/modelarena.go | 12 +- modules/arena/module.go | 10 +- modules/battle/modelBattle.go | 175 +++++++++++++++-------- modules/battle/module.go | 68 ++++++--- modules/buried/api_send.go | 4 - modules/chat/api_chanagechannel.go | 8 -- modules/chat/api_crosschannel.go | 4 - modules/chat/api_getlist.go | 38 +---- modules/chat/api_send.go | 12 +- modules/chat/modelChat.go | 16 +-- modules/chat/module.go | 24 +++- modules/combat/api_ask.go | 16 +-- modules/combat/api_challenge.go | 14 +- modules/combat/api_challengereceive.go | 31 +--- modules/forum/api_watchhero.go | 7 +- modules/gateway/agent.go | 52 +++++-- modules/moonfantasy/api_ask.go | 38 +++-- modules/moonfantasy/api_battle.go | 116 ++++++++------- modules/moonfantasy/api_buy.go | 16 ++- modules/moonfantasy/api_getlist.go | 16 ++- modules/moonfantasy/api_receive.go | 2 +- modules/moonfantasy/modelDream.go | 8 +- modules/parkour/api_invite.go | 21 ++- modules/parkour/api_invitehandle.go | 10 +- modules/parkour/api_jointeam.go | 19 ++- modules/parkour/api_racematch.go | 5 +- modules/pay/api_dailybuy.go | 8 +- modules/pay/api_delivery.go | 2 +- modules/pay/module.go | 25 +++- modules/practice/api_accept.go | 30 +++- modules/practice/api_expulsion.go | 4 +- modules/practice/api_gymrefresh.go | 6 +- modules/practice/api_npcbattkle.go | 2 +- modules/practice/api_npcbattklefinish.go | 2 +- modules/practice/api_npcdialog.go | 22 +-- modules/practice/api_qiecuo.go | 36 ++++- modules/practice/api_receive.go | 2 +- modules/practice/api_refuse.go | 6 +- modules/practice/api_upgrade.go | 5 +- modules/practice/modelPandata.go | 12 +- modules/pvp/api_activecancel.go | 5 +- modules/pvp/api_incmd.go | 17 ++- modules/pvp/api_into.go | 29 ++-- modules/pvp/api_loadcomplete.go | 5 +- modules/pvp/module.go | 56 +++++--- modules/shop/api_buy.go | 12 +- modules/shop/api_getlist.go | 32 +++-- modules/web/api_createnotify.go | 20 +-- modules/web/api_creatmail.go | 27 ++-- modules/web/api_upload.go | 20 +-- 60 files changed, 749 insertions(+), 623 deletions(-) diff --git a/modules/academy/api_challenge.go b/modules/academy/api_challenge.go index 2a9a7760d..5a335b2b7 100644 --- a/modules/academy/api_challenge.go +++ b/modules/academy/api_challenge.go @@ -19,28 +19,9 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.AcademyChallen record *pb.DBBattleRecord err error ) - defer func() { - if errdata == nil { - session.SendMsg(string(this.module.GetType()), "challenge", &pb.AcademyChallengeResp{Code: pb.ErrorCode_Success, Level: req.Level, Info: &pb.BattleInfo{ - Id: record.Id, - Title: record.Title, - Rulesid: level.Battleready, - Btype: record.Btype, - Ptype: record.Ptype, - RedCompId: record.RedCompId, - Redflist: record.Redflist, - BlueCompId: record.BlueCompId, - Buleflist: record.Buleflist, - Tasks: level.Task, - }}) - } else { - session.SendMsg(string(this.module.GetType()), "challenge", &pb.AcademyChallengeResp{Code: errdata.Code, Info: nil}) - } - }() if errdata = this.ChallengeCheck(session, req); errdata != nil { return } - if level, err = this.module.configure.getGameTeaching(req.Level); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, @@ -48,12 +29,27 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.AcademyChallen } return } - cd, record = this.module.battle.CreateEveBattle(session, &pb.BattleEVEReq{ + if errdata, record = this.module.battle.CreateEveBattle(session, &pb.BattleEVEReq{ Ptype: pb.PlayType_academy, Format: nil, Sysformat: level.UsFormatList, Backupformat: nil, Buleformat: level.FormatList, - }) + }); errdata != nil { + return + } + + session.SendMsg(string(this.module.GetType()), "challenge", &pb.AcademyChallengeResp{Code: pb.ErrorCode_Success, Level: req.Level, Info: &pb.BattleInfo{ + Id: record.Id, + Title: record.Title, + Rulesid: level.Battleready, + Btype: record.Btype, + Ptype: record.Ptype, + RedCompId: record.RedCompId, + Redflist: record.Redflist, + BlueCompId: record.BlueCompId, + Buleflist: record.Buleflist, + Tasks: level.Task, + }}) return } diff --git a/modules/academy/api_info.go b/modules/academy/api_info.go index 72ed4723d..3024cf735 100644 --- a/modules/academy/api_info.go +++ b/modules/academy/api_info.go @@ -26,10 +26,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.AcademyInfoReq) (er Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } session.SendMsg(string(this.module.GetType()), "info", &pb.AcademyInfoResp{Info: info}) diff --git a/modules/academy/api_receive.go b/modules/academy/api_receive.go index d10c0fb82..f2cccaf9f 100644 --- a/modules/academy/api_receive.go +++ b/modules/academy/api_receive.go @@ -24,7 +24,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.AcademyReceiveRe if errdata = this.ReceiveCheck(session, req); errdata != nil { return } - if code, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } if iswin { @@ -34,10 +34,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.AcademyReceiveRe Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } if level, err = this.module.configure.getGameTeaching(req.Level); err != nil { @@ -46,14 +42,14 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.AcademyReceiveRe Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } if req.Report.Completetask == nil || len(req.Report.Completetask) != len(level.Task) { - code = pb.ErrorCode_AcademyTaskNoCompleteTask + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_AcademyTaskNoCompleteTask, + Title: pb.ErrorCode_AcademyTaskNoCompleteTask.ToString(), + } return } @@ -66,10 +62,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.AcademyReceiveRe Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } diff --git a/modules/academy/api_teaching.go b/modules/academy/api_teaching.go index 7e162a347..1000b453b 100644 --- a/modules/academy/api_teaching.go +++ b/modules/academy/api_teaching.go @@ -18,44 +18,41 @@ func (this *apiComp) Teaching(session comm.IUserSession, req *pb.AcademyTeaching level *cfg.GameHeroStrategyData record *pb.DBBattleRecord err error - cd pb.ErrorCode ) - defer func() { - if cd == pb.ErrorCode_Success { - session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, HeroId: req.HeroId, Info: &pb.BattleInfo{ - Id: record.Id, - Title: record.Title, - Rulesid: level.Battleready, - Btype: record.Btype, - Ptype: record.Ptype, - RedCompId: record.RedCompId, - Redflist: record.Redflist, - BlueCompId: record.BlueCompId, - Buleflist: record.Buleflist, - Tasks: level.Task, - }}) - } else { - session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, Info: nil}) - } - }() - if cd = this.TeachingCheck(session, req); cd != pb.ErrorCode_Success { + if errdata = this.TeachingCheck(session, req); errdata != nil { return } if level, err = this.module.configure.getGameHeroTeaching(req.HeroId); err != nil { - cd = pb.ErrorCode_ConfigNoFound - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } return } - cd, record = this.module.battle.CreateEveBattle(session, &pb.BattleEVEReq{ + if errdata, record = this.module.battle.CreateEveBattle(session, &pb.BattleEVEReq{ Ptype: pb.PlayType_heroteaching, Format: nil, Sysformat: level.UsFormatList, Backupformat: nil, Buleformat: level.FormatList, - }) + }); errdata != nil { + return + } + + session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{ + HeroId: req.HeroId, Info: &pb.BattleInfo{ + Id: record.Id, + Title: record.Title, + Rulesid: level.Battleready, + Btype: record.Btype, + Ptype: record.Ptype, + RedCompId: record.RedCompId, + Redflist: record.Redflist, + BlueCompId: record.BlueCompId, + Buleflist: record.Buleflist, + Tasks: level.Task, + }}) return } diff --git a/modules/academy/api_teachingreceive.go b/modules/academy/api_teachingreceive.go index f587219f5..dbdebe468 100644 --- a/modules/academy/api_teachingreceive.go +++ b/modules/academy/api_teachingreceive.go @@ -24,7 +24,7 @@ func (this *apiComp) TeachingReceive(session comm.IUserSession, req *pb.AcademyT if errdata = this.TeachingReceiveCheck(session, req); errdata != nil { return } - if code, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } if iswin { @@ -34,10 +34,6 @@ func (this *apiComp) TeachingReceive(session comm.IUserSession, req *pb.AcademyT Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } if level, err = this.module.configure.getGameHeroTeaching(req.HeroId); err != nil { @@ -46,16 +42,13 @@ func (this *apiComp) TeachingReceive(session comm.IUserSession, req *pb.AcademyT Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } if req.Report.Completetask == nil || len(req.Report.Completetask) != len(level.Task) { - code = pb.ErrorCode_AcademyTaskNoCompleteTask - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_AcademyTaskNoCompleteTask, + Title: pb.ErrorCode_AcademyTaskNoCompleteTask.ToString(), Message: fmt.Sprintf("目标任务:%v 完成任务:%v", level.Task, req.Report.Completetask), } return @@ -69,10 +62,6 @@ func (this *apiComp) TeachingReceive(session comm.IUserSession, req *pb.AcademyT Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } this.module.DispenseRes(session, level.Award, true) diff --git a/modules/arena/api_plot.go b/modules/arena/api_plot.go index 1aa20b05f..3e54cf776 100644 --- a/modules/arena/api_plot.go +++ b/modules/arena/api_plot.go @@ -23,64 +23,57 @@ func (this *apiComp) Plot(session comm.IUserSession, req *pb.ArenaPlotReq) (errd index int32 err error ) - if cd = this.PlotCheck(session, req); cd != pb.ErrorCode_Success { + if errdata = this.PlotCheck(session, req); errdata != nil { return } if npc, err = this.module.configure.getChallengenpc(req.Pid); err != nil { - cd = pb.ErrorCode_ConfigNoFound - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } return } if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil { - cd = pb.ErrorCode_DBError - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } this.module.modelArena.recoverTicket(session, info) - if cd = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.ModuleTools.GetGlobalConf().ArenaTicketCos}, true); cd != pb.ErrorCode_Success { + if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.ModuleTools.GetGlobalConf().ArenaTicketCos}, true); errdata != nil { return } - // if info.Ticket > this.module.ModuleTools.GetGlobalConf().ArenaTicketCos { - // info.Ticket -= this.module.ModuleTools.GetGlobalConf().ArenaTicketCos - // } else { - // code = pb.ErrorCode_ArenaTicketNotEnough - // return - // } + if info.Npc[req.Pid] != nil { ndata := info.Npc[req.Pid] if !configure.Now().After(time.Unix(ndata.Cd, 0)) { //已经过了cd时间 - code = pb.ErrorCode_ArenaTicketNpcInCd - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ArenaTicketNpcInCd, + Title: pb.ErrorCode_ArenaTicketNpcInCd.ToString(), } return } index = ndata.Index } - if cd, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ + if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ Ptype: pb.PlayType_arena, Format: req.Battle, Mformat: []int32{npc.MonsterformatId[index]}, - }); cd == pb.ErrorCode_Success { - if err = this.module.modelArena.updateArenaUserInfo(info); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - } - return - } + }); errdata != nil { + return } + if err = this.module.modelArena.updateArenaUserInfo(info); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } session.SendMsg(string(this.module.GetType()), "plot", &pb.ArenaPlotResp{ Pid: req.Pid, Info: &pb.BattleInfo{ diff --git a/modules/arena/api_plotreward.go b/modules/arena/api_plotreward.go index 54a9b36f0..90d70c462 100644 --- a/modules/arena/api_plotreward.go +++ b/modules/arena/api_plotreward.go @@ -37,20 +37,15 @@ func (this *apiComp) PlotReward(session comm.IUserSession, req *pb.ArenaPlotRewa Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } - if code, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } if !iswin { - code = pb.ErrorCode_MoonfantasyBattleNoWin - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: "战斗校验失败", + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyBattleNoWin, + Title: pb.ErrorCode_MoonfantasyBattleNoWin.ToString(), } return } @@ -60,10 +55,6 @@ func (this *apiComp) PlotReward(session comm.IUserSession, req *pb.ArenaPlotRewa Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } if info.Npc[req.Pid] == nil { @@ -85,10 +76,6 @@ func (this *apiComp) PlotReward(session comm.IUserSession, req *pb.ArenaPlotRewa Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } diff --git a/modules/arena/api_rank.go b/modules/arena/api_rank.go index 778b932c9..b85724ffa 100644 --- a/modules/arena/api_rank.go +++ b/modules/arena/api_rank.go @@ -30,10 +30,6 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.ArenaRankReq) (errd Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } if uids, err = this.module.modelRank.queryRankUser(); err != nil { @@ -42,10 +38,6 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.ArenaRankReq) (errd Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } if ranks, err = this.module.modelArena.queryPlayers(uids); err != nil { @@ -54,10 +46,6 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.ArenaRankReq) (errd Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } players = make([]*pb.ArenaPlayer, len(ranks)) diff --git a/modules/arena/api_setdattformt.go b/modules/arena/api_setdattformt.go index 3e47f7049..dd76db36b 100644 --- a/modules/arena/api_setdattformt.go +++ b/modules/arena/api_setdattformt.go @@ -27,10 +27,7 @@ func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil { @@ -39,10 +36,6 @@ func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } info.Attack = &pb.DBPlayerBattleFormt{ @@ -56,10 +49,6 @@ func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } return } session.SendMsg(string(this.module.GetType()), "setattformt", &pb.ArenaSetAttFormtResp{Issucc: true}) diff --git a/modules/arena/api_setdefformt.go b/modules/arena/api_setdefformt.go index 47aaa8ed3..c1743b1a9 100644 --- a/modules/arena/api_setdefformt.go +++ b/modules/arena/api_setdefformt.go @@ -27,10 +27,7 @@ func (this *apiComp) SetDefFormt(session comm.IUserSession, req *pb.ArenaSetDefF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } @@ -40,10 +37,7 @@ func (this *apiComp) SetDefFormt(session comm.IUserSession, req *pb.ArenaSetDefF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } info.Defend = &pb.DBPlayerBattleFormt{ @@ -57,10 +51,7 @@ func (this *apiComp) SetDefFormt(session comm.IUserSession, req *pb.ArenaSetDefF Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), - Message: err.Error(), - } + return } session.SendMsg(string(this.module.GetType()), "setdefformt", &pb.ArenaSetDefFormtResp{Issucc: true}) diff --git a/modules/arena/modelarena.go b/modules/arena/modelarena.go index 01f5876b1..e3f4baa0d 100644 --- a/modules/arena/modelarena.go +++ b/modules/arena/modelarena.go @@ -404,11 +404,7 @@ func (this *modelArena) recoverTicket(session comm.IUserSession, info *pb.DBAren ) if ticketitem = this.module.ModuleTools.GetGlobalConf().ArenaTicketCos; ticketitem == nil { - // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + // code = pb.ErrorCode_ConfigNoFound // data = &pb.ErrorData{ // Title: code.ToString(), // Message: comm.NewNotFoundConfErr(moduleName, "global.json", "ArenaTicketCos").Error(), @@ -453,11 +449,7 @@ func (this *modelArena) reddot(session comm.IUserSession) bool { return false } if ticketitem = this.module.ModuleTools.GetGlobalConf().ArenaTicketCos; ticketitem == nil { - // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + // code = pb.ErrorCode_ConfigNoFound // data = &pb.ErrorData{ // Title: code.ToString(), // Message: comm.NewNotFoundConfErr(moduleName, "global.json", "ArenaTicketCos").Error(), diff --git a/modules/arena/module.go b/modules/arena/module.go index ed54ee5f9..d5f55cdd2 100644 --- a/modules/arena/module.go +++ b/modules/arena/module.go @@ -130,7 +130,7 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb. info *pb.DBArenaUser players []*pb.ArenaPlayer ais []*pb.ArenaPlayer - code pb.ErrorCode + errdata *pb.ErrorData ) global = this.ModuleTools.GetGlobalConf() if info, err = this.modelArena.queryPlayerInfo(uid); err != nil && err != mgo.MongodbNil { @@ -151,8 +151,8 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb. } if len(players) > 0 { captain = players[0].Defend.Leadpos - if rules, code = this.battle.CreateRolesByHeros(players[0].Defend.Formt); errdata != nil { - err = fmt.Errorf("Player CreateRolesByHeros fail:%d", code) + if rules, errdata = this.battle.CreateRolesByHeros(players[0].Defend.Formt); errdata != nil { + err = fmt.Errorf("Player CreateRolesByHeros fail:%v", errdata) return } } else { @@ -161,8 +161,8 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb. } if len(ais) > 0 { captain = ais[0].Defend.Leadpos - if rules, code = this.battle.CreateRolesByHeros(ais[0].Defend.Formt); errdata != nil { - err = fmt.Errorf("AI CreateRolesByHeros fail:%d", code) + if rules, errdata = this.battle.CreateRolesByHeros(ais[0].Defend.Formt); errdata != nil { + err = fmt.Errorf("AI CreateRolesByHeros fail:%v", errdata) return } } else { diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index 0d0bf314b..5d5757681 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -78,11 +78,14 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon if v != "" { hero := &pb.DBHero{} if err := model.GetListObj(session.GetUserId(), v, hero); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(hero, tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(hero, tid, i); errdata != nil { return } if buff != nil { @@ -107,7 +110,10 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon if this.module.IsCross() { if hero, err = this.module.friend.UseAssistHero(session.GetUserId(), v); err != nil { this.module.Errorln(err) - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } } else { //获取跨服数据 @@ -123,7 +129,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon } } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(hero, tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(hero, tid, i); errdata != nil { return } record.Redflist[0].Team[i].Ishelp = true @@ -141,7 +147,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon if v == 0 { continue } - if captain, masters, code = this.createMasterRoles(100, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(100, i, v); errdata != nil { return } record.Redflist[i].Systeam = masters @@ -164,7 +170,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon if v == 0 { continue } - if captain, masters, code = this.createMasterRoles(100, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(100, i, v); errdata != nil { return } record.Redflist[i].Backupteam = masters @@ -182,7 +188,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon } else { record.Redflist = make([]*pb.DBBattleFormt, len(req.Sysformat)) for i, v := range req.Sysformat { - if captain, masters, code = this.createMasterRoles(100, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(100, i, v); errdata != nil { return } record.Redflist[i] = &pb.DBBattleFormt{ @@ -201,7 +207,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon } if req.Backupformat != nil && len(req.Backupformat) > 0 { for i, v := range req.Backupformat { - if captain, masters, code = this.createMasterRoles(100, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(100, i, v); errdata != nil { return } record.Redflist[i].Backupteam = masters @@ -219,7 +225,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon } for i, v := range req.Buleformat { - if captain, masters, code = this.createMasterRoles(200, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(200, i, v); errdata != nil { return } record.Buleflist[i] = &pb.DBBattleFormt{ @@ -258,11 +264,14 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon if v != "" { heros[i] = &pb.DBHero{} if err := model.GetListObj(session.GetUserId(), v, heros[i]); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } if buff != nil { @@ -286,7 +295,10 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon if this.module.IsCross() { if heros[i], err = this.module.friend.UseAssistHero(session.GetUserId(), v); err != nil { this.module.Errorln(err) - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } } else { //获取跨服数据 @@ -302,7 +314,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon } } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } record.Redflist[0].Team[i].Ishelp = true @@ -316,7 +328,10 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon } } if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } var ( @@ -324,7 +339,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon masters []*pb.BattleRole ) for i, v := range req.Mformat { - if captain, masters, code = this.createMasterRoles(200, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(200, i, v); errdata != nil { return } record.Buleflist[i] = &pb.DBBattleFormt{ @@ -364,11 +379,14 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon if v != "" { heros[i] = &pb.DBHero{} if err := model.GetListObj(session.GetUserId(), v, heros[i]); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 100 + i - if record.Redflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[ii].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } if buff != nil { @@ -392,7 +410,10 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon if this.module.IsCross() { if heros[i], err = this.module.friend.UseAssistHero(session.GetUserId(), v); err != nil { this.module.Errorln(err) - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } } else { //获取跨服数据 @@ -408,7 +429,7 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon } } tid := 100 + i - if record.Redflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[ii].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } record.Redflist[ii].Team[i].Ishelp = true @@ -422,7 +443,10 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon } } if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } } @@ -432,7 +456,7 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon masters []*pb.BattleRole ) for i, v := range req.Mformat { - if captain, masters, code = this.createMasterRoles(200, i, v); errdata != nil { + if captain, masters, errdata = this.createMasterRoles(200, i, v); errdata != nil { return } record.Buleflist[i] = &pb.DBBattleFormt{ @@ -464,7 +488,7 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon for i, v := range req.Redformat.Format { if v != nil { tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(v, tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(v, tid, i); errdata != nil { return } } else { @@ -472,7 +496,10 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon } } if ok := this.checkBattlereadyCapskill(req.Redformat.Leadpos, req.Redformat.Format); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } @@ -484,7 +511,7 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon for i, v := range req.Buleformat.Format { if v != nil { tid := 200 + i - if record.Buleflist[0].Team[i], code = this.createBattleRole(v, tid, i); errdata != nil { + if record.Buleflist[0].Team[i], errdata = this.createBattleRole(v, tid, i); errdata != nil { return } } else { @@ -492,7 +519,10 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon } } if ok := this.checkBattlereadyCapskill(req.Buleformat.Leadpos, req.Buleformat.Format); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } return @@ -521,11 +551,14 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype if v != "" { heros[i] = &pb.DBHero{} if err := redmodel.GetListObj(req.RedCompId, v, heros[i]); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 100 + i - if record.Redflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[ii].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } } else { @@ -533,7 +566,10 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype } } if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } } @@ -547,11 +583,14 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype if v != "" { heros[i] = &pb.DBHero{} if err := bluemodel.GetListObj(req.BlueCompId, v, heros[i]); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 200 + i - if record.Buleflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Buleflist[ii].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } } else { @@ -559,7 +598,10 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype } } if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } } @@ -594,11 +636,14 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo if v != "" { heros[i] = &pb.DBHero{} if err := model.GetListObj(session.GetUserId(), v, heros[i]); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } if buff != nil { @@ -622,7 +667,10 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo if this.module.IsCross() { if heros[i], err = this.module.friend.UseAssistHero(session.GetUserId(), v); err != nil { this.module.Errorln(err) - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } return } } else { //获取跨服数据 @@ -638,7 +686,7 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo } } tid := 100 + i - if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); errdata != nil { + if record.Redflist[0].Team[i], errdata = this.createBattleRole(heros[i], tid, i); errdata != nil { return } record.Redflist[0].Team[i].Ishelp = true @@ -652,7 +700,10 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo } } if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok { - code = pb.ErrorCode_BattleCapskillCheckFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCapskillCheckFailed, + Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + } return } record.Buleflist[0] = &pb.DBBattleFormt{ @@ -706,11 +757,11 @@ func (this *modelBattleComp) createBattleRole(hero *pb.DBHero, tid, pos int) (ro } if hero.SuiteId != 0 { //主套装 if suit, err := this.module.configure.Getequipsuit(hero.SuiteId); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } else { role.MainSuitSkill = suit.Skill @@ -718,11 +769,11 @@ func (this *modelBattleComp) createBattleRole(hero *pb.DBHero, tid, pos int) (ro } if hero.SuiteExtId != 0 { //副套装 if suit, err := this.module.configure.Getequipsuit(hero.SuiteExtId); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } else { role.SubSuitSkill = suit.Skill @@ -738,7 +789,7 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt err error ) if result, err = this.module.configure.GetMonsterFormat(fid); err != nil { - errdata = &pb.ErrorData{ + errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), @@ -753,11 +804,11 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt captain = int32(i) } // if monst, err := this.module.configure.GetMonster(v.Monster); err != nil { - // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } // } else { hero := &pb.DBHero{} if hero = this.module.ModuleHero.CreateMonster(fmt.Sprintf("%d", v.Heroid), v.Star, v.Lv); hero == nil { @@ -802,11 +853,11 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt } if v.Equip4 != 0 { if suit, err := this.module.configure.Getequipsuit(v.Equip4); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } else { roles[i].MainSuitSkill = suit.Skill @@ -814,11 +865,11 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt } if v.Equip2 != 0 { if suit, err := this.module.configure.Getequipsuit(v.Equip2); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } else { roles[i].SubSuitSkill = suit.Skill diff --git a/modules/battle/module.go b/modules/battle/module.go index f6cde7082..d94f3a3cc 100644 --- a/modules/battle/module.go +++ b/modules/battle/module.go @@ -84,7 +84,10 @@ func (this *Battle) OnInstallComp() { func (this *Battle) QueryBattleRecord(oid string) (errdata *pb.ErrorData, record *pb.DBBattleRecord) { var err error if record, err = this.modelBattle.queryrecord(oid); err != nil { - code = pb.ErrorCode_BattleNoFoundRecord + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleNoFoundRecord, + Title: pb.ErrorCode_BattleNoFoundRecord.ToString(), + } return } return @@ -111,7 +114,7 @@ func (this *Battle) CreateEveBattle(session comm.IUserSession, req *pb.BattleEVE return } - if record, code = this.modelBattle.createeve(session, conn, pb.BattleType_eve, req); errdata != nil { + if record, errdata = this.modelBattle.createeve(session, conn, pb.BattleType_eve, req); errdata != nil { return } return @@ -158,7 +161,7 @@ func (this *Battle) CreatePveBattle(session comm.IUserSession, req *pb.BattlePVE } } - if record, code = this.modelBattle.createpve(session, conn, pb.BattleType_pve, req); errdata != nil { + if record, errdata = this.modelBattle.createpve(session, conn, pb.BattleType_pve, req); errdata != nil { return } if req.Format.Friendformat != nil { @@ -194,7 +197,7 @@ func (this *Battle) CreatePvbBattle(session comm.IUserSession, req *pb.BattlePVB } return } - if record, code = this.modelBattle.createpvb(session, conn, pb.BattleType_pvb, req); errdata != nil { + if record, errdata = this.modelBattle.createpvb(session, conn, pb.BattleType_pvb, req); errdata != nil { return } return @@ -220,7 +223,7 @@ func (this *Battle) CreatePvpBattle(session comm.IUserSession, req *pb.BattlePVP this.Errorf("session:%v err:", session, err) return } - if record, code = this.modelBattle.createpvp(session, conn, pb.BattleType_pvp, req); errdata != nil { + if record, errdata = this.modelBattle.createpvp(session, conn, pb.BattleType_pvp, req); errdata != nil { return } return @@ -234,7 +237,10 @@ func (this *Battle) CreateRtPvpBattle(req *pb.BattleRTPVPReq) (errdata *pb.Error err error ) if !this.IsCross() { - code = pb.ErrorCode_Exception + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_Exception, + Title: pb.ErrorCode_Exception.ToString(), + } return } if redmodel, err = this.GetDBModelByUid(req.RedCompId, comm.TableHero); err != nil { @@ -253,7 +259,7 @@ func (this *Battle) CreateRtPvpBattle(req *pb.BattleRTPVPReq) (errdata *pb.Error } return } - if record, code = this.modelBattle.creatertpvp(redmodel, bluemodel, pb.BattleType_rtpvp, req); errdata != nil { + if record, errdata = this.modelBattle.creatertpvp(redmodel, bluemodel, pb.BattleType_rtpvp, req); errdata != nil { return } return @@ -300,7 +306,7 @@ func (this *Battle) CreateLPVEBattle(session comm.IUserSession, req *pb.BattleLP } } - if record, code = this.modelBattle.createlpve(session, conn, pb.BattleType_lpev, req); errdata != nil { + if record, errdata = this.modelBattle.createlpve(session, conn, pb.BattleType_lpev, req); errdata != nil { return } if req.Format.Friendformat != nil { @@ -311,7 +317,7 @@ func (this *Battle) CreateLPVEBattle(session comm.IUserSession, req *pb.BattleLP ///创建角色列表 更具Format表格 func (this *Battle) CreateRolesByFormat(fid int32) (captain int32, roles []*pb.BattleRole, errdata *pb.ErrorData) { - captain, roles, code = this.modelBattle.createMasterRoles(2, 0, fid) + captain, roles, errdata = this.modelBattle.createMasterRoles(2, 0, fid) return } @@ -320,7 +326,7 @@ func (this *Battle) CreateRolesByHeros(heros []*pb.DBHero) (roles []*pb.BattleRo roles = make([]*pb.BattleRole, len(heros)) for i, v := range heros { if v != nil { - if roles[i], code = this.modelBattle.createBattleRole(v, 200+i, i); errdata != nil { + if roles[i], errdata = this.modelBattle.createBattleRole(v, 200+i, i); errdata != nil { return } } @@ -338,7 +344,10 @@ func (this *Battle) GetBattleInfo(req *pb.BattleGetInfoReq) (errdata *pb.ErrorDa ctx, _ = context.WithTimeout(context.Background(), time.Second*5) if resp, err = this.clientmgr.GetInfo(ctx, req); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } return } @@ -354,10 +363,16 @@ func (this *Battle) CreateBattleServer(req *pb.BattleInfo) (errdata *pb.ErrorDat ctx, _ = context.WithTimeout(context.Background(), time.Second*5) if resp, err = this.clientmgr.CreateBattle(ctx, &pb.BattleCreateServerReq{Info: req}); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } if !resp.Issucc { - code = pb.ErrorCode_BattleCreateFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleCreateFailed, + Title: pb.ErrorCode_BattleCreateFailed.ToString(), + } } return } @@ -371,10 +386,16 @@ func (this *Battle) InCmdBattle(req *pb.BattleInCmdReq) (errdata *pb.ErrorData) ctx, _ = context.WithTimeout(context.Background(), time.Second*5) if resp, err = this.clientmgr.InCmdBattle(ctx, req); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } if !resp.Issucc { - code = pb.ErrorCode_BattleInCmdFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleInCmdFailed, + Title: pb.ErrorCode_BattleInCmdFailed.ToString(), + } } return } @@ -387,10 +408,16 @@ func (this *Battle) ConcedeBattle(req *pb.BattleConcedeReq) (errdata *pb.ErrorDa ) if resp, err = this.clientmgr.ConcedeBattle(context.Background(), req); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } if !resp.Issucc { - code = pb.ErrorCode_BattleInCmdFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleInCmdFailed, + Title: pb.ErrorCode_BattleInCmdFailed.ToString(), + } } return } @@ -411,7 +438,10 @@ func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.Batt stime := time.Now() ctx, _ = context.WithTimeout(context.Background(), time.Second*5) if reply, err = this.clientmgr.CheckBattle(ctx, report); err != nil || !reply.Ischeck { - code = pb.ErrorCode_BattleValidationFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleValidationFailed, + Title: pb.ErrorCode_BattleValidationFailed.ToString(), + } this.Error("[Battle Check]", log.Field{Key: "t", Value: time.Since(stime).Milliseconds()}, log.Field{Key: "reply", Value: reply.String()}, @@ -429,5 +459,5 @@ func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.Batt // this.ModuleBuried.SendToRtask(session, comm.Rtype157, int32(report.Info.Ptype), v) go this.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype157, int32(report.Info.Ptype), v)) } - return pb.ErrorCode_Success, true + return nil, true } diff --git a/modules/buried/api_send.go b/modules/buried/api_send.go index 80c21829b..466c35648 100644 --- a/modules/buried/api_send.go +++ b/modules/buried/api_send.go @@ -34,10 +34,6 @@ func (this *apiComp) InquireProgress(session comm.IUserSession, req *pb.BuriedIn Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } diff --git a/modules/chat/api_chanagechannel.go b/modules/chat/api_chanagechannel.go index c2e3492cf..77aeb5439 100644 --- a/modules/chat/api_chanagechannel.go +++ b/modules/chat/api_chanagechannel.go @@ -29,10 +29,6 @@ func (this *apiComp) ChanageChannel(session comm.IUserSession, req *pb.ChatChana Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } if ok { @@ -42,10 +38,6 @@ func (this *apiComp) ChanageChannel(session comm.IUserSession, req *pb.ChatChana Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), map[string]interface{}{ diff --git a/modules/chat/api_crosschannel.go b/modules/chat/api_crosschannel.go index ac24d5262..0baf913ac 100644 --- a/modules/chat/api_crosschannel.go +++ b/modules/chat/api_crosschannel.go @@ -26,10 +26,6 @@ func (this *apiComp) CrossChannel(session comm.IUserSession, req *pb.ChatCrossCh Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), map[string]interface{}{ diff --git a/modules/chat/api_getlist.go b/modules/chat/api_getlist.go index ae18e9d6a..b28151df0 100644 --- a/modules/chat/api_getlist.go +++ b/modules/chat/api_getlist.go @@ -37,10 +37,6 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } break @@ -51,10 +47,6 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } break @@ -65,10 +57,6 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } break @@ -80,19 +68,12 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } if req.ChannelId != result.Chatchannel { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - } - data = &pb.ErrorData{ - Title: code.ToString(), + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("req.ChannelId:%d != result.Chatchannel:%d", req.ChannelId, result.Chatchannel), } return @@ -103,10 +84,6 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } break @@ -117,10 +94,6 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } break @@ -128,11 +101,8 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.ChatGetListReq) this.module.Errorf("不存在的聊天频道类型channel:%d ", req.Channel) errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - } - data = &pb.ErrorData{ - Title: code.ToString(), + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("不存在的聊天频道类型 channel:%d ", req.Channel), } return diff --git a/modules/chat/api_send.go b/modules/chat/api_send.go index 96ee4ebe2..4eed60a1c 100644 --- a/modules/chat/api_send.go +++ b/modules/chat/api_send.go @@ -57,10 +57,6 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (errda Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } @@ -80,7 +76,6 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (errda session.SendMsg(string(this.module.GetType()), "send", &pb.ChatSendResp{Issucc: true}) return } - code = pb.ErrorCode_Success } if msg.Ctype == pb.ChatType_Text { //过滤敏感词 msg.Content = wordfilter.Replace(msg.Content, '*') @@ -132,11 +127,8 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (errda default: this.module.Errorf("不存在的聊天频道类型channel:%d ", req.Channel) errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - } - data = &pb.ErrorData{ - Title: code.ToString(), + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("不存在的聊天频道类型 channel:%d ", req.Channel), } return diff --git a/modules/chat/modelChat.go b/modules/chat/modelChat.go index 0515b4baf..3df07c5ce 100644 --- a/modules/chat/modelChat.go +++ b/modules/chat/modelChat.go @@ -242,18 +242,18 @@ func (this *modelChatComp) saveUserMsg(msg *pb.DBChat) (err error) { // ) // if max, err = this.module.configure.GetChannelRecordMax(); err != nil { // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } +// Code: pb.ErrorCode_ConfigNoFound, +// Title: pb.ErrorCode_ConfigNoFound.ToString(), +// Message: err.Error(), +// } // return // } // if err = this.module.modelChat.addChatMsg(fmt.Sprintf("%s-%s", worldchatkey, msg.Stag), int64(max), msg); err != nil { // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } +// Code: pb.ErrorCode_DBError, +// Title: pb.ErrorCode_DBError.ToString(), +// Message: err.Error(), +// } // return // } // data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg}) diff --git a/modules/chat/module.go b/modules/chat/module.go index a70c43c20..b5bdcfd53 100644 --- a/modules/chat/module.go +++ b/modules/chat/module.go @@ -163,7 +163,11 @@ func (this *Chat) SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) { msg, nil); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + Message: err.Error(), + } } } return @@ -198,7 +202,11 @@ func (this *Chat) SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) { msg, nil); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + Message: err.Error(), + } } } return @@ -218,7 +226,11 @@ func (this *Chat) SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) { session.SendMsg(string(this.GetType()), "message", &pb.ChatMessagePush{Chat: msg}) if err = session.Push(); err != nil { this.Errorf("err:%v", err) - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } } else { @@ -284,7 +296,11 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter msg, nil); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + Message: err.Error(), + } } } } diff --git a/modules/combat/api_ask.go b/modules/combat/api_ask.go index 6d6f91932..3d699d708 100644 --- a/modules/combat/api_ask.go +++ b/modules/combat/api_ask.go @@ -51,10 +51,6 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.CombatAskReq) (errda Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } this.module.Errorln(err) return } @@ -70,9 +66,9 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.CombatAskReq) (errda if level.Pass != 2 { level.Progress = 0 if condis, err = this.module.ModuleBuried.CheckCondition(session.GetUserId(), lvconf.Maintask...); err != nil { - code = pb.ErrorCode_ExternalModule - data = &pb.ErrorData{ - Title: code.ToString(), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ExternalModule, + Title: pb.ErrorCode_ExternalModule.ToString(), Message: comm.NewExternalModuleErr("Buried", "CheckCondition", lvconf.Maintask).Error(), } return @@ -105,9 +101,9 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.CombatAskReq) (errda } if condis, err = this.module.ModuleBuried.CheckCondition(session.GetUserId(), lvconf.Subtask...); err != nil { - code = pb.ErrorCode_ExternalModule - data = &pb.ErrorData{ - Title: code.ToString(), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ExternalModule, + Title: pb.ErrorCode_ExternalModule.ToString(), Message: comm.NewExternalModuleErr("Buried", "CheckCondition", lvconf.Subtask).Error(), } return diff --git a/modules/combat/api_challenge.go b/modules/combat/api_challenge.go index 4166f1cee..b0c68b0a5 100644 --- a/modules/combat/api_challenge.go +++ b/modules/combat/api_challenge.go @@ -20,10 +20,6 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.CombatChalleng err error ) if errdata = this.ChallengeCheck(session, req); errdata != nil { - data = &pb.ErrorData{ - Title: code.ToString(), - Message: req.String(), - } return } @@ -33,21 +29,13 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.CombatChalleng Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } - if code, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ + if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ Ptype: pb.PlayType_combat, Format: req.Battle, Mformat: manster.FormatList, }); errdata != nil { - data = &pb.ErrorData{ - Title: code.ToString(), - Message: req.String(), - } return } session.SendMsg(string(this.module.GetType()), "challenge", &pb.CombatChallengeResp{Manster: req.Manster, Level: req.Level, Info: &pb.BattleInfo{ diff --git a/modules/combat/api_challengereceive.go b/modules/combat/api_challengereceive.go index cdaa7d564..bc0364457 100644 --- a/modules/combat/api_challengereceive.go +++ b/modules/combat/api_challengereceive.go @@ -28,7 +28,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC if errdata = this.ChallengeReceiveCheck(session, req); errdata != nil { return } - if code, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } if iswin { @@ -38,10 +38,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } + return } if lv, ok = info.Level[req.Level]; !ok { @@ -51,10 +48,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } + return } if manster, err = this.module.configure.getGameCombatManster(req.Manster); err != nil { @@ -63,10 +57,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } + return } for _, v := range lv.Passmanster { @@ -75,10 +66,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: fmt.Sprintf("req.Manster:%d 重复", code), - } + return } } @@ -90,10 +78,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } + return } @@ -112,10 +97,6 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: err.Error(), - } return } } diff --git a/modules/forum/api_watchhero.go b/modules/forum/api_watchhero.go index 4599277e1..634bc22b5 100644 --- a/modules/forum/api_watchhero.go +++ b/modules/forum/api_watchhero.go @@ -27,7 +27,12 @@ func (this *apiComp) WatchHero(session comm.IUserSession, req *pb.ForumWatchHero return } if hero, err = this.module.modelForum.watchHero(req.Stag, req.Uid, req.HerocId); err != nil { - code = pb.ErrorCode_HeroNoExist + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + Message: err.Error(), + } + return } equip = this.module.modelForum.watchHeroEquip(req.Stag, req.Uid, hero.EquipID...) session.SendMsg(string(this.module.GetType()), "watchhero", &pb.ForumWatchHeroResp{ diff --git a/modules/gateway/agent.go b/modules/gateway/agent.go index a5782f763..ae6d318b3 100644 --- a/modules/gateway/agent.go +++ b/modules/gateway/agent.go @@ -93,9 +93,9 @@ locp: }) continue } - var code pb.ErrorCode - code, err = this.secAuth(msg) - if err == nil { + var errdata *pb.ErrorData + errdata = this.secAuth(msg) + if errdata == nil { // this.gateway.Debugf("----------2 agent:%s uId:%s MainType:%s SubType:%s ", this.sessionId, this.uId, msg.MainType, msg.SubType) if err = this.messageDistribution(msg); err != nil { this.gateway.Errorf("messageDistribution err:%v", err) @@ -123,8 +123,8 @@ locp: MsgId: msg.MsgId, ReqMainType: msg.MainType, ReqSubType: msg.SubType, - Code: code, - Err: &pb.ErrorData{Title: "用户消息验证失败!", Datastring: err.Error()}, + Code: errdata.Code, + Err: errdata, }) if err = this.WriteMsg(&pb.UserMessage{ MsgId: msg.MsgId, @@ -170,21 +170,30 @@ locp: } // 安全认证 所有协议 -func (this *Agent) secAuth(msg *pb.UserMessage) (errdata *pb.ErrorData, err error) { +func (this *Agent) secAuth(msg *pb.UserMessage) (errdata *pb.ErrorData) { if !utils.ValidSecretKey(msg.Sec) { //验证失败 this.gateway.Errorf("%v", msg.Sec) - return pb.ErrorCode_SignError, fmt.Errorf("key invalid") + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SignError, + Title: pb.ErrorCode_SignError.ToString(), + Message: "key invalid", + } + return } return this.decodeUserData(msg) } // 解码 -func (this *Agent) decodeUserData(msg *pb.UserMessage) (errdata *pb.ErrorData, err error) { +func (this *Agent) decodeUserData(msg *pb.UserMessage) (errdata *pb.ErrorData) { base64Str := msg.Sec dec, err := base64.StdEncoding.DecodeString(base64Str[35:]) if err != nil { this.gateway.Errorf("base64 decode err %v", err) - return pb.ErrorCode_DecodeError, nil + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DecodeError, + Title: pb.ErrorCode_DecodeError.ToString(), + } + return } now := configure.Now().Unix() jsonRet := gjson.Parse(string(dec)) @@ -192,7 +201,12 @@ func (this *Agent) decodeUserData(msg *pb.UserMessage) (errdata *pb.ErrorData, e //秘钥30秒失效 if now-time.Unix(timestamp, 0).Unix() > 30 { this.gateway.Errorf("now:%v last timestamp:%v more than 30s", now, timestamp) - return pb.ErrorCode_TimestampTimeout, fmt.Errorf("sec key expire") + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TimestampTimeout, + Title: pb.ErrorCode_TimestampTimeout.ToString(), + Message: "sec key expire", + } + return } //只有login的时候才需要设置Data @@ -206,21 +220,31 @@ func (this *Agent) decodeUserData(msg *pb.UserMessage) (errdata *pb.ErrorData, e ad, err := anypb.New(req) if err != nil { this.gateway.Errorf("decodeUserData pb err:%v", err) - return pb.ErrorCode_PbError, err + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PbError, + Title: pb.ErrorCode_PbError.ToString(), + Message: err.Error(), + } + return } msg.Data = ad } else { switch msg.MainType { case string(comm.ModuleNotify), string(comm.ModuleGate): - return pb.ErrorCode_Success, nil + return default: if this.UserId() == "" { this.gateway.Errorf("[%v.%v] Agent UId empty", msg.MainType, msg.SubType) - return pb.ErrorCode_AgentUidEmpty, fmt.Errorf("no login") + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_AgentUidEmpty, + Title: pb.ErrorCode_AgentUidEmpty.ToString(), + Message: "no login", + } + return } } } - return pb.ErrorCode_Success, nil + return } func (this *Agent) SessionId() string { diff --git a/modules/moonfantasy/api_ask.go b/modules/moonfantasy/api_ask.go index 6bd74c113..d16ccd86b 100644 --- a/modules/moonfantasy/api_ask.go +++ b/modules/moonfantasy/api_ask.go @@ -18,37 +18,48 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.MoonfantasyAskReq) ( lock *redis.RedisMutex // umfantasy *pb.DBUserMFantasy user *pb.DBUser - cd pb.ErrorCode isjson bool err error ) - defer func() { - session.SendMsg(string(this.module.GetType()), "ask", &pb.MoonfantasyAskResp{Code: cd, Info: mdata}) - }() - if cd = this.AskCheck(session, req); cd != pb.ErrorCode_Success { + if errdata = this.AskCheck(session, req); errdata != nil { return } //月之秘境需要加分布式锁 防止多人同时操作 if lock, err = this.module.modelDream.newDreamLock(req.Mid); err != nil { - cd = pb.ErrorCode_DBError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + } return } defer lock.Unlock() if err = lock.Lock(); err != nil { - cd = pb.ErrorCode_DBError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + } this.module.Errorln(err) return } if mdata, err = this.module.modelDream.querymfantasy(req.Mid); err != nil { - cd = pb.ErrorCode_DBError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + } return } if mdata == nil { - cd = pb.ErrorCode_MoonfantasyHasExpired + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyHasExpired, + Title: pb.ErrorCode_MoonfantasyHasExpired.ToString(), + } return } if this.module.modelDream.checkMFantasyExpiration(mdata) { //已过期 - cd = pb.ErrorCode_MoonfantasyHasExpired + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyHasExpired, + Title: pb.ErrorCode_MoonfantasyHasExpired.ToString(), + } return } for _, v := range mdata.Join { @@ -60,7 +71,10 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.MoonfantasyAskReq) ( if !isjson { if len(mdata.Join) >= int(mdata.Numup) { - cd = pb.ErrorCode_MoonfantasyJoinUp + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyJoinUp, + Title: pb.ErrorCode_MoonfantasyJoinUp.ToString(), + } return } // if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil { @@ -85,5 +99,7 @@ func (this *apiComp) Ask(session comm.IUserSession, req *pb.MoonfantasyAskReq) ( "join": mdata.Join, }) } + + session.SendMsg(string(this.module.GetType()), "ask", &pb.MoonfantasyAskResp{Info: mdata}) return } diff --git a/modules/moonfantasy/api_battle.go b/modules/moonfantasy/api_battle.go index 87c89e3c7..d725d6e4f 100644 --- a/modules/moonfantasy/api_battle.go +++ b/modules/moonfantasy/api_battle.go @@ -14,59 +14,36 @@ func (this *apiComp) BattleCheck(session comm.IUserSession, req *pb.MoonfantasyB ///挑战怪物请求 func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattleReq) (errdata *pb.ErrorData) { var ( - boss *cfg.GameDreamlandBoosData - // umfantasy *pb.DBUserMFantasy + boss *cfg.GameDreamlandBoosData mdata *pb.DBMoonFantasy record *pb.DBBattleRecord - cd pb.ErrorCode isjoin bool err error ) - defer func() { - if cd == pb.ErrorCode_Success { - // this.module.modelUserMF.Change(session.GetUserId(), map[string]interface{}{ - // "ticket": umfantasy.Ticket, - // }) - this.module.modelDream.ChangeList("", mdata.Id, map[string]interface{}{ - "record": mdata.Record, - }) - session.SendMsg(string(this.module.GetType()), "battle", &pb.MoonfantasyBattleResp{ - Code: cd, - Mid: mdata.Monster, - Info: &pb.BattleInfo{ - Id: record.Id, - Title: record.Title, - Rulesid: boss.BattleReadyID, - Btype: record.Btype, - Ptype: record.Ptype, - RedCompId: record.RedCompId, - Redflist: record.Redflist, - BlueCompId: record.BlueCompId, - Buleflist: record.Buleflist, - }, - }) - // this.module.ModuleRtask.SendToRtask(session, comm.Rtype88, 1) - go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype88, 1)) - } else { - session.SendMsg(string(this.module.GetType()), "battle", &pb.MoonfantasyBattleResp{Code: cd}) - } - - }() - - if cd = this.BattleCheck(session, req); cd != pb.ErrorCode_Success { + if errdata = this.BattleCheck(session, req); errdata != nil { return } if mdata, err = this.module.modelDream.querymfantasy(req.Mid); err != nil { - cd = pb.ErrorCode_DBError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } return } if mdata == nil { - cd = pb.ErrorCode_MoonfantasyHasExpired + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyHasExpired, + Title: pb.ErrorCode_MoonfantasyHasExpired.ToString(), + } return } if this.module.modelDream.checkMFantasyExpiration(mdata) { //已过期 - cd = pb.ErrorCode_MoonfantasyHasExpired + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyHasExpired, + Title: pb.ErrorCode_MoonfantasyHasExpired.ToString(), + } return } for _, v := range mdata.Join { @@ -75,40 +52,52 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattle } } if !isjoin { - cd = pb.ErrorCode_MoonfantasyNoJoin + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyNoJoin, + Title: pb.ErrorCode_MoonfantasyNoJoin.ToString(), + } return } - // if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil { - // cd = pb.ErrorCode_CacheReadError - // } - // if umfantasy.Ticket < this.module.ModuleTools.GetGlobalConf().DreamlandCos { - // cd = pb.ErrorCode_MoonfantasyNotEnoughbattles - // } - // umfantasy.Ticket -= this.module.ModuleTools.GetGlobalConf().DreamlandCos if boss, err = this.module.configure.GetMonsterById(mdata.Monster); err != nil { - cd = pb.ErrorCode_ConfigNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } - if cd = this.module.ModuleItems.RecoverTicket(session); cd != pb.ErrorCode_Success { + if errdata = this.module.ModuleItems.RecoverTicket(session); errdata != nil { return } - if cd = this.module.CheckRes(session, boss.PsConsume); cd != pb.ErrorCode_Success { + if errdata = this.module.CheckRes(session, boss.PsConsume); errdata != nil { return } if len(mdata.Join) >= int(mdata.Numup) { - cd = pb.ErrorCode_MoonfantasyJoinUp + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyJoinUp, + Title: pb.ErrorCode_MoonfantasyJoinUp.ToString(), + Message: err.Error(), + } return } if this.module.modelDream.checkMFantasyExpiration(mdata) { //已过期 - cd = pb.ErrorCode_MoonfantasyHasExpired + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyHasExpired, + Title: pb.ErrorCode_MoonfantasyHasExpired.ToString(), + Message: err.Error(), + } return } if v, ok := mdata.Record[session.GetUserId()]; ok { if v >= mdata.Unitmup { - cd = pb.ErrorCode_MoonfantasyDareUp + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_MoonfantasyDareUp, + Title: pb.ErrorCode_MoonfantasyDareUp.ToString(), + Message: err.Error(), + } return } else { mdata.Record[session.GetUserId()]++ @@ -117,10 +106,31 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattle mdata.Record[session.GetUserId()] = 1 } - cd, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ + if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ Ptype: pb.PlayType_moonfantasy, Format: req.Battle, Mformat: boss.Monsterformatid, + }); err != nil { + return + } + + this.module.modelDream.ChangeList("", mdata.Id, map[string]interface{}{ + "record": mdata.Record, }) + session.SendMsg(string(this.module.GetType()), "battle", &pb.MoonfantasyBattleResp{ + Mid: mdata.Monster, + Info: &pb.BattleInfo{ + Id: record.Id, + Title: record.Title, + Rulesid: boss.BattleReadyID, + Btype: record.Btype, + Ptype: record.Ptype, + RedCompId: record.RedCompId, + Redflist: record.Redflist, + BlueCompId: record.BlueCompId, + Buleflist: record.Buleflist, + }, + }) + go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype88, 1)) return } diff --git a/modules/moonfantasy/api_buy.go b/modules/moonfantasy/api_buy.go index bc0e032fc..0a5d7ccca 100644 --- a/modules/moonfantasy/api_buy.go +++ b/modules/moonfantasy/api_buy.go @@ -38,15 +38,15 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.MoonfantasyBuyReq) ( Title: pb.ErrorCode_ConfigNoFound.ToString(), Message: err.Error(), } - data = &pb.ErrorData{ - Title: code.ToString(), - Message: comm.NewNotFoundConfErr(modelName, "global.json", "CopsBuyGet").Error(), - } return } if info, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil && err != mgo.MongodbNil { - code = pb.ErrorCode_CacheReadError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_CacheReadError, + Title: pb.ErrorCode_CacheReadError.ToString(), + Message: err.Error(), + } return } this.module.modelUserMF.recoverTicket(session, info) @@ -64,7 +64,11 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.MoonfantasyBuyReq) ( for i := int32(0); i < req.BuyNum; i++ { if int(info.BuyNum+i+1) > maxbuy+vipbuy { - code = pb.ErrorCode_ArenaTicketBuyUp + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ArenaTicketBuyUp, + Title: pb.ErrorCode_ArenaTicketBuyUp.ToString(), + Message: err.Error(), + } return } if challengeD, err = this.module.configure.GetchallengeData(info.BuyNum + i + 1); err != nil || challengeD == nil { diff --git a/modules/moonfantasy/api_getlist.go b/modules/moonfantasy/api_getlist.go index bb22ad7b6..54440cf8f 100644 --- a/modules/moonfantasy/api_getlist.go +++ b/modules/moonfantasy/api_getlist.go @@ -20,16 +20,20 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.MoonfantasyGetLi mfantasys []*pb.DBMoonFantasy = make([]*pb.DBMoonFantasy, 0) ) if info, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil && err != mgo.MongodbNil { - code = pb.ErrorCode_CacheReadError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_CacheReadError, + Title: pb.ErrorCode_CacheReadError.ToString(), + Message: err.Error(), + } return } // this.module.modelUserMF.recoverTicket(session, info) // if err = this.module.modelUserMF.updateUserInfo(info); err != nil { - // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } + // errdata = &pb.ErrorData{ + // Code: pb.ErrorCode_DBError, + // Title: pb.ErrorCode_DBError.ToString(), + // Message: err.Error(), + // } // return // } this.module.ModuleItems.RecoverTicket(session) diff --git a/modules/moonfantasy/api_receive.go b/modules/moonfantasy/api_receive.go index f2078a997..00a60e59e 100644 --- a/modules/moonfantasy/api_receive.go +++ b/modules/moonfantasy/api_receive.go @@ -36,7 +36,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.MoonfantasyRecei } return } - if code, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, iswin = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } if !iswin { diff --git a/modules/moonfantasy/modelDream.go b/modules/moonfantasy/modelDream.go index b6073585a..b522860ea 100644 --- a/modules/moonfantasy/modelDream.go +++ b/modules/moonfantasy/modelDream.go @@ -202,10 +202,10 @@ func (this *modelDreamComp) noticeuserfriend(session comm.IUserSession, mid stri ) // if model, err = this.module.GetDBNodule(session, comm.TableFriend, 0); err != nil { // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } + // Code: pb.ErrorCode_DBError, + // Title: pb.ErrorCode_DBError.ToString(), + // Message: err.Error(), + // } // this.module.Errorf("session:%v err:%v", session, err) // return // } diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go index 2ea6f7170..23a83b6bc 100644 --- a/modules/parkour/api_invite.go +++ b/modules/parkour/api_invite.go @@ -43,7 +43,11 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) return } if info.Captainid != "" && info.Captainid != session.GetUserId() { //自己不是队长 无权邀请他人 - code = pb.ErrorCode_ParkourInviteNoPermissions + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourInviteNoPermissions, + Title: pb.ErrorCode_ParkourInviteNoPermissions.ToString(), + Message: err.Error(), + } return } if len(info.Member) > 3 { @@ -54,7 +58,10 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) return } if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil { @@ -85,7 +92,10 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) return } if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil { @@ -112,7 +122,10 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) &pb.ParkourTeamChanagePush{Team: info}, users...) } else { if tinfo.Captainid != "" { - code = pb.ErrorCode_ParkourTargetTeamed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourTargetTeamed, + Title: pb.ErrorCode_ParkourTargetTeamed.ToString(), + } return } ok = false diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go index 813a0f1f4..e334d3db7 100644 --- a/modules/parkour/api_invitehandle.go +++ b/modules/parkour/api_invitehandle.go @@ -47,7 +47,10 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi return } if len(tean.Member) >= 3 { - code = pb.ErrorCode_ParkourMemberFull + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourMemberFull, + Title: pb.ErrorCode_ParkourMemberFull.ToString(), + } return } if req.State == 3 { @@ -60,7 +63,10 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi } } if !ok { - code = pb.ErrorCode_ParkourInviteOverdue + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourInviteOverdue, + Title: pb.ErrorCode_ParkourInviteOverdue.ToString(), + } return } tean.Invite = append(tean.Invite[0:index], tean.Invite[index+1:]...) diff --git a/modules/parkour/api_jointeam.go b/modules/parkour/api_jointeam.go index 7c59c0baa..a6dc7ba06 100644 --- a/modules/parkour/api_jointeam.go +++ b/modules/parkour/api_jointeam.go @@ -42,12 +42,20 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam } // 状态校验 if info.State != pb.RaceTeamState_resting { // 不是休息中不能参加 - code = pb.ErrorCode_StateInvalid + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_StateInvalid, + Title: pb.ErrorCode_StateInvalid.ToString(), + Message: err.Error(), + } return } if len(info.Member) > 3 { - code = pb.ErrorCode_ParkourMemberFull + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourMemberFull, + Title: pb.ErrorCode_ParkourMemberFull.ToString(), + Message: err.Error(), + } return } if tean, err = this.module.parkourComp.queryinfo(req.Uid); err != nil { @@ -62,7 +70,12 @@ func (this *apiComp) JoinTeam(session comm.IUserSession, req *pb.ParkourJoinTeam users = make([]string, len(tean.Member)) for i, v := range tean.Member { if v.Uid == session.GetUserId() { - code = pb.ErrorCode_ParkourTargetTeamed // 自己已经在队伍中 + // 自己已经在队伍中 + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ParkourTargetTeamed, + Title: pb.ErrorCode_ParkourTargetTeamed.ToString(), + Message: err.Error(), + } return } users[i] = v.Uid diff --git a/modules/parkour/api_racematch.go b/modules/parkour/api_racematch.go index 33234a71b..9a692f22c 100644 --- a/modules/parkour/api_racematch.go +++ b/modules/parkour/api_racematch.go @@ -48,7 +48,10 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat team.Captainid = team.Uid team.State = pb.RaceTeamState_teaming if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } if mount, err = this.module.configure.getGameBuzkashiMount(team.Dfmount); err != nil { diff --git a/modules/pay/api_dailybuy.go b/modules/pay/api_dailybuy.go index b56befc46..2a038b919 100644 --- a/modules/pay/api_dailybuy.go +++ b/modules/pay/api_dailybuy.go @@ -47,7 +47,11 @@ func (this *apiComp) DailyBuy(session comm.IUserSession, req *pb.PayDailyBuyReq) } if info.Items[conf.Id] != nil { if info.Items[conf.Id].Buyunm <= 0 { - code = pb.ErrorCode_PayBuyNumNotEnough + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PayBuyNumNotEnough, + Title: pb.ErrorCode_PayBuyNumNotEnough.ToString(), + Message: err.Error(), + } return } } @@ -58,7 +62,7 @@ func (this *apiComp) DailyBuy(session comm.IUserSession, req *pb.PayDailyBuyReq) } } - if code, items = this.module.modelDaily.delivery(session, conf.Packagetype); errdata != nil { + if errdata, items = this.module.modelDaily.delivery(session, conf.Packagetype); errdata != nil { return } diff --git a/modules/pay/api_delivery.go b/modules/pay/api_delivery.go index dd617c518..2b3504c2a 100644 --- a/modules/pay/api_delivery.go +++ b/modules/pay/api_delivery.go @@ -28,6 +28,6 @@ func (this *apiComp) Delivery(session comm.IUserSession, req *pb.PayDeliveryReq) this.module.Errorln(err) return } - session.SendMsg(string(this.module.GetType()), "delivery", &pb.PayDeliveryResp{Code: code}) + session.SendMsg(string(this.module.GetType()), "delivery", &pb.PayDeliveryResp{}) return } diff --git a/modules/pay/module.go b/modules/pay/module.go index e51893e29..6fdde5889 100644 --- a/modules/pay/module.go +++ b/modules/pay/module.go @@ -77,6 +77,7 @@ func (this *Pay) Rpc_ModulePayDelivery(ctx context.Context, args *pb.PayDelivery res []*cfg.Gameatn items []*pb.UserAssets session comm.IUserSession + errdata *pb.ErrorData online bool ) @@ -98,12 +99,14 @@ func (this *Pay) Rpc_ModulePayDelivery(ctx context.Context, args *pb.PayDelivery this.PutUserSession(session) }() if session, online = this.GetUserSession(args.Uid); online { - if reply.Code = this.DispenseRes(session, res, true); reply.Code != pb.ErrorCode_Success { + if errdata = this.DispenseRes(session, res, true); errdata != nil { + reply.Code = errdata.Code return } } else { - if reply.Code = this.DispenseRes(session, res, false); reply.Code != pb.ErrorCode_Success { + if errdata = this.DispenseRes(session, res, false); errdata != nil { + reply.Code = errdata.Code return } } @@ -122,10 +125,16 @@ func (this *Pay) Rpc_ModulePayDelivery(ctx context.Context, args *pb.PayDelivery case 1: break case 2: - reply.Code, items = this.modelDaily.delivery(session, args.Productid) + if errdata, items = this.modelDaily.delivery(session, args.Productid); errdata != nil { + reply.Code = errdata.Code + return + } break case 3: - reply.Code, items = this.privilege.Delivery(session, args.Productid) + if errdata, items = this.privilege.Delivery(session, args.Productid); errdata != nil { + reply.Code = errdata.Code + return + } break } for _, v := range res { @@ -204,10 +213,14 @@ func (this *Pay) ModulePayDelivery(session comm.IUserSession, Productid string, case 1: break case 2: - code, items = this.modelDaily.delivery(session, Productid) + if errdata, items = this.modelDaily.delivery(session, Productid); errdata != nil { + return + } break case 3: - code, items = this.privilege.Delivery(session, Productid) + if errdata, items = this.privilege.Delivery(session, Productid); errdata != nil { + return + } break } for _, v := range res { diff --git a/modules/practice/api_accept.go b/modules/practice/api_accept.go index 9c88aa84c..7f0134db4 100644 --- a/modules/practice/api_accept.go +++ b/modules/practice/api_accept.go @@ -49,14 +49,20 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.PracticeAcceptReq return } if redRecord.Status == 1 { //已经在战斗中了 - code = pb.ErrorCode_PracticeQiecuoing + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticeQiecuoing, + Title: pb.ErrorCode_PracticeQiecuoing.ToString(), + } return } keep = false for _, v := range redRecord.Targets { if v.Uid == session.GetUserId() { if configure.Now().Sub(time.Unix(v.Timestamp, 0)).Seconds() > 10 { - code = pb.ErrorCode_PracticeInviteTimeOut + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticeInviteTimeOut, + Title: pb.ErrorCode_PracticeInviteTimeOut.ToString(), + } return } keep = true @@ -73,22 +79,28 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.PracticeAcceptReq //发起者 red red := this.module.ModuleUser.GetUser(req.Uid) if red == nil { - code = pb.ErrorCode_UserNofound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserNofound, + Title: pb.ErrorCode_UserNofound.ToString(), + } this.module.Error("未找到红方信息", log.Field{Key: "uid", Value: req.Uid}) return } blue := this.module.ModuleUser.GetUser(session.GetUserId()) if blue == nil { - code = pb.ErrorCode_UserNofound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserNofound, + Title: pb.ErrorCode_UserNofound.ToString(), + } this.module.Error("未找到蓝方信息", log.Field{Key: "uid", Value: session.GetUserId()}) return } - if redRecord.Battid, code = this.module.pvp.CreatePvp( + if redRecord.Battid, errdata = this.module.pvp.CreatePvp( &pb.PvpUserInfo{Uid: red.Uid, Name: red.Name, Avatar: red.Avatar, Lv: red.Lv}, &pb.PvpUserInfo{Uid: blue.Uid, Name: blue.Name, Avatar: blue.Avatar, Lv: blue.Lv}, pb.PvpType_friends, ); errdata != nil { - this.module.Error("CreatePvp", log.Field{Key: "code", Value: code}) + this.module.Error("CreatePvp", log.Field{Key: "code", Value: errdata}) return } redRecord.Status = 1 @@ -109,7 +121,11 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.PracticeAcceptReq if err := session.SendMsg(string(this.module.GetType()), "accept", &pb.FriendAcceptResp{ IsSucc: true, }); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } diff --git a/modules/practice/api_expulsion.go b/modules/practice/api_expulsion.go index 5b1ea5151..30dad520f 100644 --- a/modules/practice/api_expulsion.go +++ b/modules/practice/api_expulsion.go @@ -99,7 +99,7 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls if conf, err := this.module.configure.getGamePandamasYxjx(k); err != nil { this.module.Errorln(err) } else if v/conf.Register > 0 { - if hero, code := this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), pillar.Hero); code == pb.ErrorCode_Success { + if hero, errdata := this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), pillar.Hero); errdata == nil { if heroconf, _ := this.module.configure.GetHeroConfig(hero.HeroID); heroconf != nil { if (conf.Camp == 0 || (conf.Camp != 0 && heroconf.Race == conf.Camp)) && (conf.Occupation == 0 || (conf.Occupation != 0 && heroconf.Job == conf.Occupation)) { exp1 += minutes * int32(math.Floor(float64(v/conf.Register)*float64(conf.ExpBonus))) * exp @@ -196,7 +196,7 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls } } _session, ok = this.module.GetUserSession(pillar.Uid) - if _, code = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); errdata != nil { + if _, errdata = this.module.ModuleHero.AddHeroExp(_session, pillar.Hero, exp); errdata != nil { return } if errdata = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); errdata != nil { diff --git a/modules/practice/api_gymrefresh.go b/modules/practice/api_gymrefresh.go index b461349e4..6fae8137d 100644 --- a/modules/practice/api_gymrefresh.go +++ b/modules/practice/api_gymrefresh.go @@ -67,7 +67,11 @@ func (this *apiComp) GymRefresh(session comm.IUserSession, req *pb.PracticeGymRe } } if len(confs) == 0 { - code = pb.ErrorCode_ConfigurationException + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigurationException, + Title: pb.ErrorCode_ConfigurationException.ToString(), + Message: err.Error(), + } return } r := rand.New(rand.NewSource(configure.Now().Unix())) diff --git a/modules/practice/api_npcbattkle.go b/modules/practice/api_npcbattkle.go index 0aa11f686..b6d67cd9d 100644 --- a/modules/practice/api_npcbattkle.go +++ b/modules/practice/api_npcbattkle.go @@ -27,7 +27,7 @@ func (this *apiComp) NPCBattkle(session comm.IUserSession, req *pb.PracticeNPCBa return } - if code, record = this.module.battle.CreateLPVEBattle(session, &pb.BattleLPVEReq{ + if errdata, record = this.module.battle.CreateLPVEBattle(session, &pb.BattleLPVEReq{ Ptype: pb.PlayType_practicenpc, Format: req.Formation, Monsterleadpos: room.Captain, diff --git a/modules/practice/api_npcbattklefinish.go b/modules/practice/api_npcbattklefinish.go index bc6e06b09..45e74b02c 100644 --- a/modules/practice/api_npcbattklefinish.go +++ b/modules/practice/api_npcbattklefinish.go @@ -36,7 +36,7 @@ func (this *apiComp) NPCBattkleFinish(session comm.IUserSession, req *pb.Practic return } - if code, _ = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { + if errdata, _ = this.module.battle.CheckBattleReport(session, req.Report); errdata != nil { return } diff --git a/modules/practice/api_npcdialog.go b/modules/practice/api_npcdialog.go index d47225675..670336b8e 100644 --- a/modules/practice/api_npcdialog.go +++ b/modules/practice/api_npcdialog.go @@ -20,25 +20,25 @@ func (this *apiComp) NPCDialog(session comm.IUserSession, req *pb.PracticeNPCDia // ) // if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil { // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } + // Code: pb.ErrorCode_DBError, + // Title: pb.ErrorCode_DBError.ToString(), + // Message: err.Error(), + // } // return // } // if room.Npcstate != 2 { // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ReqParameterError, - Title: pb.ErrorCode_ReqParameterError.ToString(), - } + // Code: pb.ErrorCode_ReqParameterError, + // Title: pb.ErrorCode_ReqParameterError.ToString(), + // } // return // } // // if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil { // // errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), - } + // Code: pb.ErrorCode_ConfigNoFound, + // Title: pb.ErrorCode_ConfigNoFound.ToString(), + // Message: err.Error(), + // } // // return // // } // // if errdata = this.module.DispenseRes(session, conf.StoryAward, true); errdata != nil { diff --git a/modules/practice/api_qiecuo.go b/modules/practice/api_qiecuo.go index 03518f670..62737c865 100644 --- a/modules/practice/api_qiecuo.go +++ b/modules/practice/api_qiecuo.go @@ -54,27 +54,43 @@ func (this *apiComp) Qiecuo(session comm.IUserSession, req *pb.PracticeQiecuoReq if result.Battid == fresult.Battid { //两个人正在战斗中 if battle, err = this.module.pvp.QueryBattle(result.Battid); err != nil { this.module.Error("查询pvp数据失败!", log.Field{Key: "id", Value: result.Battid}, log.Field{Key: "err", Value: err.Error()}) - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } if err = session.SendMsg(string(this.module.GetType()), "qiecuo", &pb.PracticeQiecuoResp{Fid: req.Fid, Isbattle: true, Battle: battle}); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } return } else { if result.Status == 1 { - code = pb.ErrorCode_PracticeYouQiecuoing + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticeYouQiecuoing, + Title: pb.ErrorCode_PracticeYouQiecuoing.ToString(), + } return } else { - code = pb.ErrorCode_PracticeTargetQiecuoing + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticeTargetQiecuoing, + Title: pb.ErrorCode_PracticeTargetQiecuoing.ToString(), + } return } } } //目标是否在线 if !this.module.ModuleUser.IsOnline(req.Fid) { - code = pb.ErrorCode_UserOffline + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserOffline, + Title: pb.ErrorCode_UserOffline.ToString(), + } return } @@ -94,7 +110,10 @@ func (this *apiComp) Qiecuo(session comm.IUserSession, req *pb.PracticeQiecuoReq if configure.Now().Sub(time.Unix(v.Timestamp, 0)).Seconds() > 10 { v.Timestamp = configure.Now().Unix() } else { - code = pb.ErrorCode_PracticeSent + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticeSent, + Title: pb.ErrorCode_PracticeSent.ToString(), + } return } } @@ -110,7 +129,10 @@ func (this *apiComp) Qiecuo(session comm.IUserSession, req *pb.PracticeQiecuoReq }) if err = session.SendMsg(string(this.module.GetType()), "qiecuo", &pb.PracticeQiecuoResp{Fid: req.Fid}); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } diff --git a/modules/practice/api_receive.go b/modules/practice/api_receive.go index 09c0450ab..4cdc7221f 100644 --- a/modules/practice/api_receive.go +++ b/modules/practice/api_receive.go @@ -235,7 +235,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.PracticeReceiveR } } this.module.Debug("最终经验加成", log.Field{Key: "exp", Value: exp}, log.Field{Key: "exp1", Value: exp1}) - if _, code = this.module.ModuleHero.AddHeroExp(session, pillar.Hero, exp1); errdata != nil { + if _, errdata = this.module.ModuleHero.AddHeroExp(session, pillar.Hero, exp1); errdata != nil { return } if errdata = this.module.DispenseRes(session, append(ants1, ants2...), true); errdata != nil { diff --git a/modules/practice/api_refuse.go b/modules/practice/api_refuse.go index ca3231036..62cddcd84 100644 --- a/modules/practice/api_refuse.go +++ b/modules/practice/api_refuse.go @@ -73,7 +73,11 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.PracticeRefuseReq if err := session.SendMsg(string(this.module.GetType()), "refuse", &pb.PracticeRefuseResp{ IsSucc: true, }); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } diff --git a/modules/practice/api_upgrade.go b/modules/practice/api_upgrade.go index 8ed9a575e..273fae038 100644 --- a/modules/practice/api_upgrade.go +++ b/modules/practice/api_upgrade.go @@ -55,7 +55,10 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.PracticeUpgradeR return } if pillarconfigure, err = this.module.configure.getGamePandamasMz(pillar.Lv); err != nil || len(pillarconfigure.UpLvConsume) == 0 { - code = pb.ErrorCode_PracticePillarMaxLv + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_PracticePillarMaxLv, + Title: pb.ErrorCode_PracticePillarMaxLv.ToString(), + } return } diff --git a/modules/practice/modelPandata.go b/modules/practice/modelPandata.go index fb36e0208..9529824aa 100644 --- a/modules/practice/modelPandata.go +++ b/modules/practice/modelPandata.go @@ -116,10 +116,10 @@ func (this *modelPandata) queryrooms(uids []string) (results []*pb.DBPracticeRoo //刷新npc func (this *modelPandata) refreshnpc(room *pb.DBPracticeRoom) (err error) { var ( - npcs []*cfg.GameDispatch_BattleData - wigets []int32 - index int32 - code pb.ErrorCode + npcs []*cfg.GameDispatch_BattleData + wigets []int32 + index int32 + errdata *pb.ErrorData ) if npcs, err = this.module.configure.getDispatchBattle(); err != nil { @@ -134,8 +134,8 @@ func (this *modelPandata) refreshnpc(room *pb.DBPracticeRoom) (err error) { room.Currnpc = npcs[index].Id room.Npcstate = 0 room.Battlenum = 0 - if room.Captain, room.Formation, code = this.module.battle.CreateRolesByFormat(npcs[index].MonsterformatId); errdata != nil { - err = fmt.Errorf("CreateRolesByFormat fail:%d", code) + if room.Captain, room.Formation, errdata = this.module.battle.CreateRolesByFormat(npcs[index].MonsterformatId); errdata != nil { + err = fmt.Errorf("CreateRolesByFormat fail:%+v", errdata) return } return diff --git a/modules/pvp/api_activecancel.go b/modules/pvp/api_activecancel.go index 779343a26..3a0f04e88 100644 --- a/modules/pvp/api_activecancel.go +++ b/modules/pvp/api_activecancel.go @@ -51,7 +51,10 @@ func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCa } } } else { - code = pb.ErrorCode_BattleInCmdFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleInCmdFailed, + Title: pb.ErrorCode_BattleInCmdFailed.ToString(), + } return } diff --git a/modules/pvp/api_incmd.go b/modules/pvp/api_incmd.go index 6784310b8..a8b17684a 100644 --- a/modules/pvp/api_incmd.go +++ b/modules/pvp/api_incmd.go @@ -18,14 +18,9 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (errd battle *BattleItem side int32 ok bool - cd pb.ErrorCode ) - defer func() { - session.SendMsg(string(this.module.GetType()), "incmd", &pb.PvpInCmdResp{Code: cd, Battleid: req.Battleid, Cmd: req.Cmd}) - }() - - if cd = this.InCmdCheck(session, req); cd != pb.ErrorCode_Success { + if errdata = this.InCmdCheck(session, req); errdata != nil { return } this.module.lock.RLock() @@ -50,11 +45,11 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (errd return } //技能释放指令 - if cd = this.module.battle.InCmdBattle(&pb.BattleInCmdReq{ + if errdata = this.module.battle.InCmdBattle(&pb.BattleInCmdReq{ Battleid: req.Battleid, Side: side, In: req.Cmd, - }); cd != pb.ErrorCode_Success { + }); errdata != nil { return } else { if battle.operatetimer != nil { @@ -62,9 +57,13 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (errd } } } else { - cd = pb.ErrorCode_BattleInCmdFailed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleInCmdFailed, + Title: pb.ErrorCode_BattleInCmdFailed.ToString(), + } return } + session.SendMsg(string(this.module.GetType()), "incmd", &pb.PvpInCmdResp{Battleid: req.Battleid, Cmd: req.Cmd}) return } diff --git a/modules/pvp/api_into.go b/modules/pvp/api_into.go index 7a6baee07..aa0a6bdda 100644 --- a/modules/pvp/api_into.go +++ b/modules/pvp/api_into.go @@ -15,7 +15,6 @@ func (this *apiComp) Into(session comm.IUserSession, req *pb.PvpIntoReq) (errdat var ( battle *BattleItem resp *pb.BattleGetInfoResp = &pb.BattleGetInfoResp{} - cd pb.ErrorCode ok bool ) if errdata = this.IntoCheck(session, req); errdata != nil { @@ -25,23 +24,21 @@ func (this *apiComp) Into(session comm.IUserSession, req *pb.PvpIntoReq) (errdat battle, ok = this.module.battles[req.Battleid] this.module.lock.RUnlock() if ok { - if cd, resp = this.module.battle.GetBattleInfo(&pb.BattleGetInfoReq{ + if errdata, resp = this.module.battle.GetBattleInfo(&pb.BattleGetInfoReq{ Battleid: req.Battleid, - }); cd == pb.ErrorCode_Success { - battle.lock.Lock() - if session.GetUserId() == battle.Red.Uid { - battle.RedOffline = false - battle.RedSession.SetSession(session.GetIP(), session.GetSessionId(), session.GetServiecTag(), session.GetGatewayServiceId(), session.GetUserId()) - } else { - battle.BlueOffline = false - battle.BlueSession.SetSession(session.GetIP(), session.GetSessionId(), session.GetServiecTag(), session.GetGatewayServiceId(), session.GetUserId()) - } - battle.lock.Unlock() + }); errdata != nil { + return } - } else { - cd = pb.ErrorCode_BattleInCmdFailed - return } - session.SendMsg(string(this.module.GetType()), "into", &pb.PvpIntoResp{Code: cd, Battleid: req.Battleid, Info: resp.Info}) + battle.lock.Lock() + if session.GetUserId() == battle.Red.Uid { + battle.RedOffline = false + battle.RedSession.SetSession(session.GetIP(), session.GetSessionId(), session.GetServiecTag(), session.GetGatewayServiceId(), session.GetUserId()) + } else { + battle.BlueOffline = false + battle.BlueSession.SetSession(session.GetIP(), session.GetSessionId(), session.GetServiecTag(), session.GetGatewayServiceId(), session.GetUserId()) + } + battle.lock.Unlock() + session.SendMsg(string(this.module.GetType()), "into", &pb.PvpIntoResp{Battleid: req.Battleid, Info: resp.Info}) return } diff --git a/modules/pvp/api_loadcomplete.go b/modules/pvp/api_loadcomplete.go index 364022e04..976182c7e 100644 --- a/modules/pvp/api_loadcomplete.go +++ b/modules/pvp/api_loadcomplete.go @@ -43,7 +43,10 @@ func (this *apiComp) LoadComplete(session comm.IUserSession, req *pb.PvpLoadComp } } } else { - code = pb.ErrorCode_BattleNoKeep + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleNoKeep, + Title: pb.ErrorCode_BattleNoKeep.ToString(), + } return } session.SendMsg(string(this.module.GetType()), "into", &pb.PvpLoadCompleteResp{Battleid: req.Battleid, Issucc: true}) diff --git a/modules/pvp/module.go b/modules/pvp/module.go index 3a07c209f..76ac97a49 100644 --- a/modules/pvp/module.go +++ b/modules/pvp/module.go @@ -100,11 +100,17 @@ func (this *Pvp) CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleI } if battle.RedSession, ok = this.GetUserSession(red.Uid); !ok { - code = pb.ErrorCode_BattleUserOff + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleUserOff, + Title: pb.ErrorCode_BattleUserOff.ToString(), + } return } if battle.BlueSession, ok = this.GetUserSession(blue.Uid); !ok { - code = pb.ErrorCode_BattleUserOff + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_BattleUserOff, + Title: pb.ErrorCode_BattleUserOff.ToString(), + } return } this.lock.Lock() @@ -118,7 +124,10 @@ func (this *Pvp) CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleI Countdown: 60, }, battle.RedSession, battle.BlueSession); err != nil { this.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } return } @@ -127,11 +136,11 @@ func (this *Pvp) CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleI func (this *Pvp) PvpOutCmdPush(out *pb.PvpOutCmdPush) { this.Debug("PvpOutCmdPush", log.Field{Key: "args", Value: out}) var ( - battle *BattleItem - ok bool - data []byte - code pb.ErrorCode - err error + battle *BattleItem + ok bool + errdata *pb.ErrorData + data []byte + err error ) this.lock.RLock() battle, ok = this.battles[out.Battleid] @@ -263,11 +272,11 @@ func (this *Pvp) readyTimeOut(task *timewheel.Task, args ...interface{}) { func (this *Pvp) operateTimeOut(task *timewheel.Task, args ...interface{}) { this.Debug("operateTimeOut", log.Field{Key: "args", Value: args}) var ( - id string - battle *BattleItem - ok bool - code pb.ErrorCode - data []byte + id string + battle *BattleItem + ok bool + errdata *pb.ErrorData + data []byte ) id = args[0].(string) this.lock.RLock() @@ -294,12 +303,12 @@ func (this *Pvp) operateTimeOut(task *timewheel.Task, args ...interface{}) { func (this *Pvp) startBattle(battle *BattleItem) { this.Debug("PVPStart", log.Field{Key: "battleId", Value: battle.Id}) var ( - record *pb.DBBattleRecord - info *pb.BattleInfo - code pb.ErrorCode - err error + record *pb.DBBattleRecord + info *pb.BattleInfo + errdata *pb.ErrorData + err error ) - if code, record = this.battle.CreateRtPvpBattle(&pb.BattleRTPVPReq{ + if errdata, record = this.battle.CreateRtPvpBattle(&pb.BattleRTPVPReq{ Ptype: pb.PlayType_friendsmeet, Title: "", RedCompId: battle.Red.Uid, @@ -316,6 +325,7 @@ func (this *Pvp) startBattle(battle *BattleItem) { }, battle.RedSession, battle.BlueSession); err != nil { this.Errorln(err) } + return } else { record.Id = battle.Id info = &pb.BattleInfo{ @@ -441,11 +451,11 @@ func (this *Pvp) useroffline(uid, sessionid string) { //托管 func (this *Pvp) trusteeship(ctx context.Context, req *pb.RPC_PVPTrusteeshipReq, resp *pb.RPC_PVPTrusteeshipResp) (err error) { var ( - battle *BattleItem - ok bool - side int32 - data []byte - code pb.ErrorCode + battle *BattleItem + ok bool + side int32 + data []byte + errdata *pb.ErrorData ) for _, bid := range req.Battleid { this.lock.RLock() diff --git a/modules/shop/api_buy.go b/modules/shop/api_buy.go index 1ba3692f1..15d7b41b2 100644 --- a/modules/shop/api_buy.go +++ b/modules/shop/api_buy.go @@ -36,7 +36,11 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata } if conf, err = this.module.configure.GetShopItemsConfigure(req.GoodsId); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } if shopData, err = this.module.modelShop.QueryUserShopData(session.GetUserId()); err != nil { //没有购买记录 @@ -107,7 +111,11 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata } } if conf.Buyminnum-record.Buy[req.GoodsId] < req.BuyNum { - code = pb.ErrorCode_ShopGoodsIsSoldOut + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ShopGoodsIsSoldOut, + Title: pb.ErrorCode_ShopGoodsIsSoldOut.ToString(), + Message: err.Error(), + } return } record.Buy[req.GoodsId] += req.BuyNum diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go index d9eeecad1..7668920cf 100644 --- a/modules/shop/api_getlist.go +++ b/modules/shop/api_getlist.go @@ -55,7 +55,10 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) return } if udata = this.module.ModuleUser.GetUser(session.GetUserId()); udata == nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + } return } @@ -137,7 +140,10 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) if !isrefresh { //剩余刷新次数为零 if leftrefnum == 0 { - code = pb.ErrorCode_ShopNoSurplusRefreshNum + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ShopNoSurplusRefreshNum, + Title: pb.ErrorCode_ShopNoSurplusRefreshNum.ToString(), + } return } else if leftrefnum > 0 { leftrefnum-- @@ -151,9 +157,9 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) var _items []*cfg.GameShopitemData for _, v := range shopconf.Shopitem { if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { - code = pb.ErrorCode_SystemError - data = &pb.ErrorData{ - Title: pb.GetErrorCodeMsg(code), + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), Message: err.Error(), } return @@ -169,7 +175,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) for i, v := range items { sdata.Items[i] = v.Key if v.Preview { //是否预览 - if code, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { + if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { return } } @@ -198,7 +204,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) for _, v := range shopconf.Shopitem { if _items, err = this.module.configure.GetShopItemsConfigureByGroups(v, udata); err != nil || len(_items) == 0 { this.module.Error("no founf shopgroup", log.Field{Key: "gid", Value: v}) - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } items = append(items, randomGoods(_items)) @@ -210,7 +220,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) for i, v := range items { sdata.Items[i] = v.Key if v.Preview { //是否预览 - if code, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { + if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { return } } @@ -221,7 +231,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype105, 1)) } else { //返回以前的商品列表 if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } return } goods = transGoods(items, sdata) diff --git a/modules/web/api_createnotify.go b/modules/web/api_createnotify.go index 422f227d2..302f28557 100644 --- a/modules/web/api_createnotify.go +++ b/modules/web/api_createnotify.go @@ -18,17 +18,18 @@ func (this *Api_Comp) CreateNotify(c *engine.Context) { err := c.BindJSON(&req) this.module.Debugf("CreateNotify:%+v err:%v", req, err) var ( - code pb.ErrorCode - msg string - data interface{} + errdata *pb.ErrorData + data interface{} ) defer func() { - c.JSON(http.StatusOK, &Respond{Code: code, Message: msg, Data: data}) + c.JSON(http.StatusOK, &Respond{Code: errdata.Code, Message: errdata.Message, Data: data}) }() if sign := gin.ParamSign(this.options.Key, map[string]interface{}{"Title": req.Title, "Ctime": req.Ctime, "Rtime": req.Rtime}); sign != req.Sign { this.module.Errorf("LoginByCaptchaReq SignError sgin:%s", sign) - code = pb.ErrorCode_SignError - msg = pb.GetErrorCodeMsg(code) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SignError, + Title: pb.ErrorCode_SignError.ToString(), + } return } if len(req.Title) == 0 { @@ -36,7 +37,6 @@ func (this *Api_Comp) CreateNotify(c *engine.Context) { Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } - msg = pb.GetErrorCodeMsg(code) return } if err = this.module.modelNotify.CreateSystemNotify(&req.DBSystemNotify); err != nil { @@ -46,8 +46,10 @@ func (this *Api_Comp) CreateNotify(c *engine.Context) { Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - msg = pb.GetErrorCodeMsg(code) return } - msg = pb.GetErrorCodeMsg(code) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_Success, + Title: pb.ErrorCode_Success.ToString(), + } } diff --git a/modules/web/api_creatmail.go b/modules/web/api_creatmail.go index 22a419749..8dbce0982 100644 --- a/modules/web/api_creatmail.go +++ b/modules/web/api_creatmail.go @@ -30,19 +30,17 @@ func (this *Api_Comp) CreateMail(c *engine.Context) { err := c.BindJSON(&req) this.module.Debugf("CrateMail:%+v err:%v", req, err) var ( - code pb.ErrorCode - msg string - data interface{} + errdata *pb.ErrorData + data interface{} ) if db.IsCross() { // 跨服服务器不能发邮件 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } - msg = pb.GetErrorCodeMsg(code) return } - defer c.JSON(http.StatusOK, &Respond{Code: code, Message: msg, Data: data}) + defer c.JSON(http.StatusOK, &Respond{Code: errdata.Code, Message: errdata.Message, Data: data}) if sign := gin.ParamSign(this.options.Key, map[string]interface{}{ "uid": req.Uid, "title": req.Title, @@ -50,8 +48,10 @@ func (this *Api_Comp) CreateMail(c *engine.Context) { "cid": req.Cid, }); sign != req.Sign { this.module.Errorf("LoginByCaptchaReq SignError sgin:%s", sign) - code = pb.ErrorCode_SignError - msg = pb.GetErrorCodeMsg(code) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SignError, + Title: pb.ErrorCode_SignError.ToString(), + } return } @@ -72,15 +72,20 @@ func (this *Api_Comp) CreateMail(c *engine.Context) { mail.Reward = true } - msg = pb.GetErrorCodeMsg(code) - if _, err = this.module.service.RpcGo( context.Background(), comm.Service_Worker, string(comm.Rpc_Mail), mail, nil); err != nil { this.module.Errorln(err) - code = pb.ErrorCode_RpcFuncExecutionError - msg = pb.GetErrorCodeMsg(code) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } + return + } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_Success, + Title: pb.ErrorCode_Success.ToString(), } } diff --git a/modules/web/api_upload.go b/modules/web/api_upload.go index 88f6eed83..215d6b1ae 100644 --- a/modules/web/api_upload.go +++ b/modules/web/api_upload.go @@ -14,20 +14,18 @@ import ( //上传配置文件 func (this *Api_Comp) Upload(c *engine.Context) { var ( - code pb.ErrorCode - msg string + errdata *pb.ErrorData ) defer func() { c.JSON(http.StatusOK, &Respond{ - Code: code, - Message: msg, + Code: errdata.Code, + Message: errdata.Message, }) }() filenum := c.PostForm("filenum") if filenum != "" { if n, err := strconv.Atoi(filenum); err != nil { this.module.Errorln(err) - msg = err.Error() errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), @@ -37,7 +35,6 @@ func (this *Api_Comp) Upload(c *engine.Context) { for i := 0; i < n; i++ { if fn, err := c.FormFile(fmt.Sprintf("file_%d", i)); err != nil { this.module.Errorln(err) - msg = err.Error() errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), @@ -46,7 +43,6 @@ func (this *Api_Comp) Upload(c *engine.Context) { } else { if err = c.SaveUploadedFile(fn, fmt.Sprintf("%s/%s", configure.ConfigurePath(), fn.Filename)); err != nil { this.module.Errorln(err) - msg = err.Error() errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), @@ -63,8 +59,10 @@ func (this *Api_Comp) Upload(c *engine.Context) { &pb.EmptyReq{}, &pb.EmptyResp{}); err != nil { this.module.Errorln(err) - msg = err.Error() - code = pb.ErrorCode_RpcFuncExecutionError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_RpcFuncExecutionError, + Title: pb.ErrorCode_RpcFuncExecutionError.ToString(), + } } } else { errdata = &pb.ErrorData{ @@ -72,4 +70,8 @@ func (this *Api_Comp) Upload(c *engine.Context) { Title: pb.ErrorCode_ReqParameterError.ToString(), } } + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_Success, + Title: pb.ErrorCode_Success.ToString(), + } } From a690762889a775a185533f97c6dbca9ec35dd56c Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 6 Jun 2023 14:13:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/caravan/module.go | 2 +- modules/horoscope/api_rest.go | 5 +- modules/horoscope/api_upgrade.go | 5 +- modules/horoscope/modelhoroscope.go | 4 +- modules/modulebase.go | 68 ++- modules/oldtimes/api_receive.go | 10 +- pb/comm.pb.go | 412 +++++++------- pb/errorcode.pb.go | 837 ++++++++++++++-------------- 8 files changed, 675 insertions(+), 668 deletions(-) diff --git a/modules/caravan/module.go b/modules/caravan/module.go index 7c5b31b06..1e5904a05 100644 --- a/modules/caravan/module.go +++ b/modules/caravan/module.go @@ -295,7 +295,7 @@ func (this *Caravan) TaskComplete(session comm.IUserSession, taskid int32) { N: v.N, }) } - if code := this.ModuleBase.DispenseRes(session, conf.Reword, true); errdata != nil { + if errdata := this.ModuleBase.DispenseRes(session, conf.Reword, true); errdata != nil { this.Errorf("Caravan DispenseRes err:%v", conf.Reword) } session.SendMsg(string(this.GetType()), "taskcomplete", resp) diff --git a/modules/horoscope/api_rest.go b/modules/horoscope/api_rest.go index e0ae22880..d2ff658ce 100644 --- a/modules/horoscope/api_rest.go +++ b/modules/horoscope/api_rest.go @@ -35,7 +35,10 @@ func (this *apiComp) Reset(session comm.IUserSession, req *pb.HoroscopeResetReq) conf = this.module.ModuleTools.GetGlobalConf() if info.Lastrest > 0 { if configure.Now().Sub(time.Unix(info.Lastrest, 0)).Seconds() < float64(conf.HoroscopeResetCd) { - code = pb.ErrorCode_HoroscopeRestCDNoEnd + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HoroscopeRestCDNoEnd, + Title: pb.ErrorCode_HoroscopeRestCDNoEnd.ToString(), + } return } } diff --git a/modules/horoscope/api_upgrade.go b/modules/horoscope/api_upgrade.go index a98268e5e..abe72e739 100644 --- a/modules/horoscope/api_upgrade.go +++ b/modules/horoscope/api_upgrade.go @@ -51,7 +51,10 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.HoroscopeUpgrade return } if v, ok := info.Nodes[front.NodeId]; !ok || v < front.Lv { - code = pb.ErrorCode_HoroscopeNotTurnedOn + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HoroscopeNotTurnedOn, + Title: pb.ErrorCode_HoroscopeNotTurnedOn.ToString(), + } return } } diff --git a/modules/horoscope/modelhoroscope.go b/modules/horoscope/modelhoroscope.go index 4945d6280..6d87e66d0 100644 --- a/modules/horoscope/modelhoroscope.go +++ b/modules/horoscope/modelhoroscope.go @@ -143,7 +143,7 @@ func (this *modelHoroscope) reddot(session comm.IUserSession) bool { var ( info *pb.DBHoroscope horoscope *cfg.GameHoroscope - code pb.ErrorCode + errdata *pb.ErrorData err error ) if info, err = this.queryInfo(session.GetUserId()); err != nil { @@ -155,7 +155,7 @@ func (this *modelHoroscope) reddot(session comm.IUserSession) bool { for _, v := range horoscope.GetDataList() { if lv, ok := info.Nodes[v.NodeId]; !ok && v.Lv > lv { - if errdata = this.module.CheckRes(session, v.CostItem); code == pb.ErrorCode_Success { + if errdata = this.module.CheckRes(session, v.CostItem); errdata == nil { return true } } diff --git a/modules/modulebase.go b/modules/modulebase.go index ef05b8428..3f987037b 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -328,6 +328,7 @@ func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Gameatn) errdata = &pb.ErrorData{ Code: pb.ErrorCode_ResNoEnough, Title: pb.ErrorCode_ResNoEnough.ToString(), + Atn: &pb.UserAssets{A: comm.AttrType, T: k, N: v}, Message: fmt.Sprintf("资源%v的数量:%v 小于 %v", k, amount, v), } // this.Warn("资源不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v}) @@ -340,6 +341,7 @@ func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Gameatn) errdata = &pb.ErrorData{ Code: pb.ErrorCode_ResNoEnough, Title: pb.ErrorCode_ResNoEnough.ToString(), + Atn: &pb.UserAssets{A: comm.ItemType, T: k, N: v}, Message: fmt.Sprintf("道具%v的数量:%v 小于 %v", k, amount, v), } // this.Warn("道具不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v}) @@ -372,22 +374,34 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn } // 校验数量 for k, v := range attrs { - if this.ModuleUser.QueryAttributeValue(session.GetUserId(), k) < -int64(v) { // -v 负负得正 - code = pb.ErrorCode_ResNoEnough + amount := this.ModuleUser.QueryAttributeValue(session.GetUserId(), k) + if amount < -int64(v) { // -v 负负得正 + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ResNoEnough, + Title: pb.ErrorCode_ResNoEnough.ToString(), + Atn: &pb.UserAssets{A: comm.AttrType, T: k, N: v}, + Message: fmt.Sprintf("资源%v的数量:%v 小于 %v", k, amount, v), + } this.Warn("资源不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v}) return } } for k, v := range items { - if int32(this.ModuleItems.QueryItemAmount(session.GetUserId(), k)) < -v { - code = pb.ErrorCode_ResNoEnough + amount := this.ModuleItems.QueryItemAmount(session.GetUserId(), k) + if int32(amount) < -v { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ResNoEnough, + Title: pb.ErrorCode_ResNoEnough.ToString(), + Atn: &pb.UserAssets{A: comm.ItemType, T: k, N: v}, + Message: fmt.Sprintf("道具%v的数量:%v 小于 %v", k, amount, v), + } this.Warn("道具不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v}) return } } // 真正消耗 if len(attrs) > 0 { - code = this.ModuleUser.AddAttributeValues(session, attrs, bPush) + errdata = this.ModuleUser.AddAttributeValues(session, attrs, bPush) if errdata != nil { return } @@ -398,7 +412,7 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn } } if len(items) > 0 { - _, code = this.ModuleItems.AddItems(session, items, bPush) + _, errdata = this.ModuleItems.AddItems(session, items, bPush) if errdata != nil { return } @@ -459,44 +473,44 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat } if len(attrs) > 0 { //用户属性资源 - code = this.ModuleUser.AddAttributeValues(session, attrs, bPush) - this.Debugf("发放用户资源: %v code : [%v]", attrs, code) + errdata = this.ModuleUser.AddAttributeValues(session, attrs, bPush) + this.Debugf("发放用户资源: %v errdata: %v", attrs, errdata) } if len(items) > 0 { //道具资源 - _, code = this.ModuleItems.AddItems(session, items, bPush) - this.Debugf("发放道具资源: %v code : [%v]", items, code) + _, errdata = this.ModuleItems.AddItems(session, items, bPush) + this.Debugf("发放道具资源: %v errdata: %v", items, errdata) } if len(heros) > 0 { //卡片资源 - _, _, code = this.ModuleHero.CreateRepeatHeros(session, heros, bPush) - this.Debugf("发放英雄资源: %v code : [%v]", heros, code) + _, _, errdata = this.ModuleHero.CreateRepeatHeros(session, heros, bPush) + this.Debugf("发放英雄资源: %v errdata: %v", heros, errdata) } if len(equips) > 0 { - _, code = this.ModuleEquipment.AddNewEquipments(session, equips, bPush) - this.Debugf("发放装备资源: %v code : [%v]", equips, code) + _, errdata = this.ModuleEquipment.AddNewEquipments(session, equips, bPush) + this.Debugf("发放装备资源: %v errdata: %v", equips, errdata) } if len(vip) > 0 { //卡片资源 for k := range vip { - code, _ = this.ModulePrivilege.Delivery(session, k) - this.Debugf("发放月卡资源: %v code : [%v]", k, code) + errdata, _ = this.ModulePrivilege.Delivery(session, k) + this.Debugf("发放月卡资源: %v errdata: %v", k, errdata) } } if len(atlas) > 0 { for k := range atlas { this.ModuleSmithy.CheckActivateAtlasCollect(session.GetUserId(), k) - this.Debugf("发放图鉴资源: %v code : [%v]", k, code) + this.Debugf("发放图鉴资源: %v errdata: %v", k, errdata) } } if len(panda) > 0 { - code = this.ModulePractice.AddItems(session, panda, bPush) - this.Debugf("发放武馆资源: %v code : [%v]", panda, code) + errdata = this.ModulePractice.AddItems(session, panda, bPush) + this.Debugf("发放武馆资源: %v errdata: %v", panda, errdata) } if len(mts) > 0 { - code = this.ModuleParkour.AddMounts(session, mts, bPush) - this.Debugf("发放捕羊大赛资源: %v code : [%v]", mts, code) + errdata = this.ModuleParkour.AddMounts(session, mts, bPush) + this.Debugf("发放捕羊大赛资源: %v errdata: %v", mts, errdata) } if len(per) > 0 { - code = this.ModuleUser.AddPer(session, per, bPush) - this.Debugf("发放用户皮肤资源资源: %v code : [%v]", mts, code) + errdata = this.ModuleUser.AddPer(session, per, bPush) + this.Debugf("发放用户皮肤资源资源: %v errdata: %v", mts, errdata) } return } @@ -659,8 +673,8 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea } if len(attrs) > 0 { //用户属性资源 - code = this.ModuleUser.AddAttributeValues(session, attrs, bPush) - this.Debugf("发放用户资源: %v [%v]", attrs, code) + errdata = this.ModuleUser.AddAttributeValues(session, attrs, bPush) + this.Debugf("发放用户资源: %v [%v]", attrs, errdata) for k, v := range attrs { atno = append(atno, &pb.UserAtno{ A: "attr", @@ -701,8 +715,8 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea } if len(vip) > 0 { //卡片资源 for k := range vip { - code, _ = this.ModulePrivilege.Delivery(session, k) - this.Debugf("发放月卡资源: %v [%v]", k, code) + errdata, _ = this.ModulePrivilege.Delivery(session, k) + this.Debugf("发放月卡资源: %v [%v]", k, errdata) } } diff --git a/modules/oldtimes/api_receive.go b/modules/oldtimes/api_receive.go index ab3a1ea9a..5f325f622 100644 --- a/modules/oldtimes/api_receive.go +++ b/modules/oldtimes/api_receive.go @@ -27,10 +27,16 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.OldtimesReceiveR for _, v := range ot.Chapters { if v.Cid == req.ChapterId { if v.Received == 1 { - code = pb.ErrorCode_OldtimesReceived + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_OldtimesReceived, + Title: pb.ErrorCode_OldtimesReceived.ToString(), + } return } else if v.Status != int32(finish) { - code = pb.ErrorCode_OldtimesNoAllFinished + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_OldtimesNoAllFinished, + Title: pb.ErrorCode_OldtimesNoAllFinished.ToString(), + } return } else { v.Received = 1 diff --git a/pb/comm.pb.go b/pb/comm.pb.go index 77f64a3dc..7a9c1964b 100644 --- a/pb/comm.pb.go +++ b/pb/comm.pb.go @@ -82,11 +82,12 @@ type ErrorData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code ErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=ErrorCode" json:"code"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - Dataint int32 `protobuf:"varint,3,opt,name=dataint,proto3" json:"dataint"` - Datastring string `protobuf:"bytes,4,opt,name=datastring,proto3" json:"datastring"` - Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message"` + Code ErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=ErrorCode" json:"code"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Dataint int32 `protobuf:"varint,3,opt,name=dataint,proto3" json:"dataint"` + Datastring string `protobuf:"bytes,4,opt,name=datastring,proto3" json:"datastring"` + Atn *UserAssets `protobuf:"bytes,5,opt,name=atn,proto3" json:"atn"` + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message"` } func (x *ErrorData) Reset() { @@ -149,6 +150,13 @@ func (x *ErrorData) GetDatastring() string { return "" } +func (x *ErrorData) GetAtn() *UserAssets { + if x != nil { + return x.Atn + } + return nil +} + func (x *ErrorData) GetMessage() string { if x != nil { return x.Message @@ -355,10 +363,8 @@ type RPCMessageReply struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code ErrorCode `protobuf:"varint,1,opt,name=Code,proto3,enum=ErrorCode" json:"Code"` - ErrorMessage string `protobuf:"bytes,2,opt,name=ErrorMessage,proto3" json:"ErrorMessage"` - ErrorData *ErrorData `protobuf:"bytes,3,opt,name=ErrorData,proto3" json:"ErrorData"` - Reply []*UserMessage `protobuf:"bytes,4,rep,name=Reply,proto3" json:"Reply"` + ErrorData *ErrorData `protobuf:"bytes,1,opt,name=ErrorData,proto3" json:"ErrorData"` + Reply []*UserMessage `protobuf:"bytes,2,rep,name=Reply,proto3" json:"Reply"` } func (x *RPCMessageReply) Reset() { @@ -393,20 +399,6 @@ func (*RPCMessageReply) Descriptor() ([]byte, []int) { return file_comm_proto_rawDescGZIP(), []int{3} } -func (x *RPCMessageReply) GetCode() ErrorCode { - if x != nil { - return x.Code - } - return ErrorCode_Success -} - -func (x *RPCMessageReply) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - func (x *RPCMessageReply) GetErrorData() *ErrorData { if x != nil { return x.ErrorData @@ -1946,7 +1938,7 @@ var file_comm_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, - 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, + 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, @@ -1954,97 +1946,23 @@ var file_comm_proto_rawDesc = []byte{ 0x64, 0x61, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0xb7, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x63, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0f, - 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x1e, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, - 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x69, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, - 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x22, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x75, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x03, 0x61, 0x74, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x03, 0x61, 0x74, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xb7, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x63, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, @@ -2054,100 +1972,172 @@ var file_comm_proto_rawDesc = []byte{ 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x49, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x5f, 0x0a, 0x0f, 0x52, 0x50, + 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, + 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x69, 0x0a, 0x0d, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, + 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, + 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, + 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x5f, 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, + 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x05, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x55, 0x73, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x13, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, + 0x61, 0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, + 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, + 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, + 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, + 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, + 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xae, + 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, + 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, + 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, + 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, + 0x22, 0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x0c, + 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, + 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, - 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, - 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x01, 0x4e, 0x12, 0x0c, 0x0a, 0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x01, 0x4f, 0x22, 0x39, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, - 0x0a, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x33, 0x22, 0x1a, 0x0a, 0x06, 0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, - 0x1d, 0x0a, 0x07, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, - 0x0a, 0x08, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x31, 0x22, 0x41, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, - 0x52, 0x65, 0x71, 0x41, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, - 0x22, 0x71, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, - 0x71, 0x41, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x34, 0x22, 0x51, 0x0a, 0x0b, 0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x44, 0x42, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, - 0x6f, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, - 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, - 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, - 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, - 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, - 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, - 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x06, 0x0a, 0x02, 0x48, 0x70, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, - 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x65, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, - 0x65, 0x65, 0x64, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x12, 0x0c, + 0x0a, 0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x4f, 0x22, 0x39, 0x0a, 0x09, + 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, 0x0a, 0x52, 0x74, 0x61, 0x73, 0x6b, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x1a, 0x0a, + 0x06, 0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, + 0x65, 0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x22, 0x41, 0x0a, 0x0f, + 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x32, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, + 0x59, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, + 0x41, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x71, 0x0a, 0x0f, 0x52, 0x50, + 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x34, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x22, 0x51, 0x0a, + 0x0b, 0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x42, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, + 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, + 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x70, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, + 0x65, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x10, 0x03, 0x12, + 0x08, 0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2199,9 +2189,9 @@ var file_comm_proto_goTypes = []interface{}{ } var file_comm_proto_depIdxs = []int32{ 29, // 0: ErrorData.code:type_name -> ErrorCode - 30, // 1: UserMessage.data:type_name -> google.protobuf.Any - 30, // 2: AgentMessage.Message:type_name -> google.protobuf.Any - 29, // 3: RPCMessageReply.Code:type_name -> ErrorCode + 15, // 1: ErrorData.atn:type_name -> UserAssets + 30, // 2: UserMessage.data:type_name -> google.protobuf.Any + 30, // 3: AgentMessage.Message:type_name -> google.protobuf.Any 1, // 4: RPCMessageReply.ErrorData:type_name -> ErrorData 2, // 5: RPCMessageReply.Reply:type_name -> UserMessage 2, // 6: AgentSendMessageReq.Reply:type_name -> UserMessage diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index ffede9b79..74c88d207 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -86,7 +86,6 @@ const ( ErrorCode_UserTalent4NoEnough ErrorCode = 1028 //阵营4天赋点 ErrorCode_UserMerchantNoEnough ErrorCode = 1029 //虚拟币不足 ErrorCode_UserLvNoEnough ErrorCode = 1030 //等级不足 - ErrorCode_UserStarCoinNoEnough ErrorCode = 1031 //星座币不足 // friend ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己 ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量 @@ -296,7 +295,6 @@ const ( ErrorCode_SociatyTaskNoFinished ErrorCode = 3041 //任务未完成 ErrorCode_SociatyTaskReceived ErrorCode = 3042 //任务奖励已领取 ErrorCode_SociatyApplyLvLimit ErrorCode = 3043 //超出最大申请等级限制 - ErrorCode_SociatyApplyCancel ErrorCode = 3044 //申请取消了 // arena ErrorCode_ArenaTicketBuyUp ErrorCode = 3101 //票据上限 ErrorCode_ArenaTicketNotEnough ErrorCode = 3102 //票据不足 @@ -461,7 +459,6 @@ var ( 1028: "UserTalent4NoEnough", 1029: "UserMerchantNoEnough", 1030: "UserLvNoEnough", - 1031: "UserStarCoinNoEnough", 1100: "FriendNotSelf", 1101: "FriendSelfMax", 1102: "FriendTargetMax", @@ -652,7 +649,6 @@ var ( 3041: "SociatyTaskNoFinished", 3042: "SociatyTaskReceived", 3043: "SociatyApplyLvLimit", - 3044: "SociatyApplyCancel", 3101: "ArenaTicketBuyUp", 3102: "ArenaTicketNotEnough", 3103: "ArenaTicketNpcInCd", @@ -798,7 +794,6 @@ var ( "UserTalent4NoEnough": 1028, "UserMerchantNoEnough": 1029, "UserLvNoEnough": 1030, - "UserStarCoinNoEnough": 1031, "FriendNotSelf": 1100, "FriendSelfMax": 1101, "FriendTargetMax": 1102, @@ -989,7 +984,6 @@ var ( "SociatyTaskNoFinished": 3041, "SociatyTaskReceived": 3042, "SociatyApplyLvLimit": 3043, - "SociatyApplyCancel": 3044, "ArenaTicketBuyUp": 3101, "ArenaTicketNotEnough": 3102, "ArenaTicketNpcInCd": 3103, @@ -1108,7 +1102,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xb9, 0x3d, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0x85, 0x3d, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, @@ -1185,422 +1179,419 @@ var file_errorcode_proto_rawDesc = []byte{ 0x08, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x85, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x86, - 0x08, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x69, - 0x6e, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x87, 0x08, 0x12, 0x12, 0x0a, 0x0d, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, - 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, - 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, - 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, - 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, - 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, - 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, - 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, 0x0a, - 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, - 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, 0x08, - 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xdd, - 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, 0x0a, - 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, 0x12, - 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, - 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, - 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, - 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, 0x16, - 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, - 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, - 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb6, - 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, - 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, - 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, - 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, - 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, 0x0a, - 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, 0x10, - 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, - 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, 0x0a, - 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, - 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, - 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, - 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, - 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, - 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c, - 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, - 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, - 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, 0x12, - 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, 0xa4, - 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, - 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, 0x79, - 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, - 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, 0x0d, - 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, 0x0a, - 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x4c, - 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, 0x12, - 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, - 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, - 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x49, - 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, 0x19, - 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, - 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, - 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, - 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, 0x0a, - 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, - 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, 0x75, - 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, - 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, - 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, - 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xde, - 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, - 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, - 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, - 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, 0x0d, - 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, 0x0a, - 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, 0x0a, - 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, 0x11, - 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc3, - 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, - 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, 0x17, - 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4e, - 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, 0x0c, - 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, 0x12, - 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, - 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x46, - 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x47, - 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, 0x0d, - 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, - 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, 0x0c, - 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, 0x0e, - 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xec, - 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, 0x45, - 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, 0x64, - 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x18, - 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, - 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, 0x0f, - 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, - 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, 0x12, - 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, 0x6f, - 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, - 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x55, - 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, 0x0c, - 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, 0x12, - 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, - 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x4e, - 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, - 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x10, - 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, 0x73, - 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, 0x12, - 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xfd, - 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, - 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c, - 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, 0x15, - 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, - 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, - 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x44, - 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, - 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x45, - 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, - 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, - 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0xe6, 0x12, 0x12, 0x20, 0x0a, 0x1b, 0x4d, 0x6f, - 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x10, 0xe7, 0x12, 0x12, 0x18, 0x0a, 0x13, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, - 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e, - 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x4c, - 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, 0x14, 0x12, 0x1b, 0x0a, 0x16, - 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, - 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x75, 0x6e, - 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x8e, 0x15, 0x12, - 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, - 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, - 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68, - 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17, - 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, - 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, - 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, - 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a, - 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, - 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x10, 0xf8, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, - 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, - 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, - 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, - 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, - 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, - 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, - 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, - 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, - 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, - 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, - 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, - 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, - 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, - 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, - 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, - 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, - 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, - 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, - 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, - 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, - 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, - 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, - 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, - 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, - 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, - 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, - 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, - 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, - 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, - 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x10, 0xe2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x4c, 0x76, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe3, 0x17, 0x12, 0x17, 0x0a, - 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x10, 0xe4, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, - 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, - 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, - 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, - 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, - 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, - 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, - 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, - 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, - 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, - 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x0e, - 0x0a, 0x09, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x10, 0xea, 0x19, 0x12, 0x0e, - 0x0a, 0x09, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xeb, 0x19, 0x12, 0x16, - 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, - 0x75, 0x67, 0x68, 0x10, 0xec, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, - 0x69, 0x74, 0x79, 0x55, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xed, 0x19, - 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x55, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x10, 0xee, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, - 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, - 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, - 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, - 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, - 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, - 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, - 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, - 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, - 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, - 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, - 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, - 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, - 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, - 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, - 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, - 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, - 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, - 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, - 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, - 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d, 0x12, 0x1a, 0x0a, 0x15, - 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0xe3, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, - 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, - 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, - 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, - 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, - 0x53, 0x74, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, - 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x10, 0x88, 0x20, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x6d, 0x69, 0x74, 0x68, - 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, - 0x74, 0x68, 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x10, 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x61, - 0x63, 0x6b, 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, - 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x8c, 0x20, - 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4c, - 0x61, 0x63, 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, - 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, - 0x10, 0x8e, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0x8f, 0x20, 0x12, 0x17, 0x0a, 0x12, - 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x74, 0x6c, - 0x61, 0x73, 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, - 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x91, - 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, - 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x92, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, - 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x50, 0x72, 0x65, 0x10, - 0x93, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0x94, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x44, - 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x10, 0xea, 0x20, 0x12, 0x1b, 0x0a, 0x16, - 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x10, 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xed, 0x20, 0x12, 0x17, - 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x4d, 0x61, 0x78, 0x10, 0xee, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xef, 0x20, - 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, - 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf0, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, - 0x10, 0xcd, 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x53, - 0x65, 0x6e, 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x10, - 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, - 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x12, 0x19, 0x0a, 0x14, - 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51, 0x69, 0x65, 0x63, 0x75, - 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, - 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1, 0x22, 0x12, 0x19, 0x0a, - 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4f, 0x76, - 0x65, 0x72, 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, - 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb3, 0x22, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x61, 0x72, - 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x65, 0x64, - 0x10, 0xb4, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x95, 0x23, 0x12, 0x1a, - 0x0a, 0x15, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x72, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x76, 0x10, 0x96, 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, - 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xf9, - 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfa, 0x23, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x6c, 0x64, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x10, 0xfb, 0x23, - 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfc, - 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x4e, 0x6f, 0x41, - 0x6c, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfd, 0x23, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, + 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, + 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, + 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, + 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, + 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, + 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, + 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, + 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, + 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, + 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, + 0x12, 0x10, 0x0a, 0x0b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, + 0xd8, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, + 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x10, 0xdb, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, + 0x6f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, + 0xde, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, + 0x75, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, + 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, + 0x67, 0x10, 0xe0, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, + 0x65, 0x63, 0x75, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, + 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, + 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, + 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, + 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, + 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, + 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x10, 0xb4, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, + 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x10, 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, + 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, + 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, + 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, + 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, + 0x98, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, + 0x70, 0x45, 0x72, 0x72, 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, + 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, + 0x9b, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, + 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, + 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, + 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, + 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, + 0x72, 0x6f, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, + 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, + 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, + 0x72, 0x10, 0xa3, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, + 0x45, 0x72, 0x72, 0x10, 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, + 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, + 0x45, 0x78, 0x70, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, + 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, + 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, + 0x72, 0x72, 0x10, 0xa8, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, + 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, + 0x77, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xaa, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, + 0x6f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, + 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, + 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, + 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, + 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, + 0x72, 0x6e, 0x10, 0xfa, 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, + 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, + 0x0a, 0x16, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, + 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, + 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x10, 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, + 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, + 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, + 0x10, 0xe2, 0x0b, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, + 0xc0, 0x0c, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, + 0xc1, 0x0c, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x10, 0xc2, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x10, 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, + 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x10, 0xc5, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x4e, 0x6f, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, + 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, + 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x10, 0xc8, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, + 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, + 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, + 0x75, 0x74, 0x10, 0xa4, 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, + 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, + 0x10, 0xa5, 0x0d, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, + 0x0e, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x10, 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x4c, 0x65, 0x76, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, + 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, + 0x10, 0xee, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, + 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, + 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, + 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, + 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, + 0x10, 0xd1, 0x0f, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, + 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, + 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0xd4, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0xd5, 0x0f, 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, + 0x6f, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, + 0x16, 0x0a, 0x11, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, + 0x61, 0x78, 0x4c, 0x76, 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, + 0x74, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, + 0x11, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, + 0x6b, 0x10, 0x9b, 0x11, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, + 0x6b, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, + 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, + 0x65, 0x61, 0x63, 0x68, 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, + 0x4e, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, + 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xa0, 0x11, 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, + 0x45, 0x72, 0x72, 0x10, 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, + 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, + 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x10, 0xff, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, + 0x12, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x48, 0x61, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, + 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, + 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, + 0x74, 0x61, 0x73, 0x79, 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3, 0x12, 0x12, 0x1b, 0x0a, + 0x16, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xe4, 0x12, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x6f, + 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, + 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0xe6, 0x12, 0x12, + 0x20, 0x0a, 0x1b, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x10, 0xe7, + 0x12, 0x12, 0x18, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x10, 0xc5, 0x13, 0x12, 0x1a, 0x0a, 0x15, 0x4c, + 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xaa, 0x14, + 0x12, 0x1f, 0x0a, 0x1a, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, + 0x6b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xab, + 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xac, 0x14, 0x12, 0x1b, + 0x0a, 0x16, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x4e, 0x6f, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xad, 0x14, 0x12, 0x11, 0x0a, 0x0c, 0x48, + 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x8d, 0x15, 0x12, 0x14, + 0x0a, 0x0f, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x10, 0x8e, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x42, + 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x8f, 0x15, 0x12, 0x1d, 0x0a, + 0x18, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, + 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, + 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, + 0x0f, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x10, 0x98, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, + 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, + 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, + 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9b, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, + 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0xf5, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, + 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, + 0x12, 0x18, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47, 0x69, 0x76, 0x65, 0x4d, + 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xf8, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, + 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, + 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12, 0x1e, + 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12, 0x11, + 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x10, 0xdb, + 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, + 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, + 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, + 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, + 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, + 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, + 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, + 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, + 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, + 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, + 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, + 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, + 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, + 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, + 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, + 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, + 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, + 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, + 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, + 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, + 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, + 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, + 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, + 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x76, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xe3, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, + 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, + 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, + 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, + 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, + 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, + 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, + 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, + 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x72, + 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x10, 0xea, 0x19, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x72, + 0x6f, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xeb, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, + 0x6f, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, + 0xec, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x55, + 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xed, 0x19, 0x12, 0x18, 0x0a, 0x13, + 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x55, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x10, 0xee, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, + 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, + 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, + 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, + 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, + 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, + 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, + 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, + 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, + 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, + 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, + 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, + 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, + 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, + 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, + 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, + 0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, + 0x1f, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, + 0x74, 0x65, 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe0, 0x1d, + 0x12, 0x1d, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, + 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe1, 0x1d, 0x12, + 0x17, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d, 0x12, 0x1a, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x10, 0xe3, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, + 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, + 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, + 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, + 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, + 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, + 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, + 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, + 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x10, 0x88, 0x20, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x10, 0x89, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4d, + 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x8a, 0x20, + 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x61, + 0x76, 0x61, 0x10, 0x8b, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, + 0x74, 0x6c, 0x61, 0x73, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x8c, 0x20, 0x12, 0x16, 0x0a, 0x11, + 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4c, 0x61, 0x63, 0x6b, 0x4c, + 0x76, 0x10, 0x8d, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, + 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x8e, 0x20, 0x12, + 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0x8f, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, + 0x68, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x90, + 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x91, 0x20, 0x12, 0x18, 0x0a, + 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x10, 0x92, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, + 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x50, 0x72, 0x65, 0x10, 0x93, 0x20, 0x12, 0x17, + 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x45, 0x72, 0x72, 0x10, 0x94, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, + 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x10, 0xe9, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, + 0x6f, 0x46, 0x72, 0x65, 0x65, 0x10, 0xea, 0x20, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x10, 0xeb, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xec, 0x20, + 0x12, 0x18, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xed, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x78, + 0x10, 0xee, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, + 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xef, 0x20, 0x12, 0x19, 0x0a, 0x14, + 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, + 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf0, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xcd, 0x21, 0x12, + 0x11, 0x0a, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x10, + 0xce, 0x21, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x10, 0xcf, 0x21, 0x12, 0x18, + 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, + 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, + 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, + 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x61, 0x72, + 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, + 0x65, 0x10, 0xb2, 0x22, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x10, 0xb3, 0x22, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x10, 0xb4, 0x22, 0x12, + 0x19, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x95, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x52, 0x65, + 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x4c, 0x76, 0x10, 0x96, 0x23, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xf9, 0x23, 0x12, 0x15, 0x0a, + 0x10, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x10, 0xfa, 0x23, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x10, 0xfb, 0x23, 0x12, 0x1f, 0x0a, 0x1a, + 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfc, 0x23, 0x12, 0x1a, 0x0a, + 0x15, 0x4f, 0x6c, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xfd, 0x23, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 355c63a42e99bb534676a20bafa5ff2c772d6aa3 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Tue, 6 Jun 2023 14:36:57 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=85=AC=E4=BC=9Aerrordata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/sociaty/api_cross_Formation.go | 30 ++++---- modules/sociaty/api_cross_accuse.go | 28 ++++--- modules/sociaty/api_cross_activitylist.go | 13 ++-- modules/sociaty/api_cross_activityreceive.go | 25 ++++--- modules/sociaty/api_cross_agree.go | 30 ++++---- modules/sociaty/api_cross_apply.go | 78 +++++++++++--------- modules/sociaty/api_cross_applycancel.go | 13 ++-- modules/sociaty/api_cross_applylist.go | 20 ++--- modules/sociaty/api_cross_assign.go | 28 +++++-- modules/sociaty/api_cross_bossmain.go | 28 ++++--- modules/sociaty/api_cross_bossrank.go | 13 ++-- modules/sociaty/api_cross_breceive.go | 29 +++++--- modules/sociaty/api_cross_buy.go | 33 +++++---- modules/sociaty/api_cross_challengefinish.go | 13 ++-- modules/sociaty/api_cross_challengestart.go | 34 +++++---- modules/sociaty/api_cross_create.go | 56 ++++++++------ modules/sociaty/api_cross_discharge.go | 23 ++++-- modules/sociaty/api_cross_dismiss.go | 26 +++++-- modules/sociaty/api_cross_list.go | 4 +- modules/sociaty/api_cross_log.go | 5 +- modules/sociaty/api_cross_members.go | 5 +- modules/sociaty/api_cross_mine.go | 24 +++--- modules/sociaty/api_cross_quit.go | 20 ++--- modules/sociaty/api_cross_rank.go | 4 +- modules/sociaty/api_cross_receive.go | 22 ++++-- modules/sociaty/api_cross_recommend.go | 4 +- modules/sociaty/api_cross_refuse.go | 25 ++++--- modules/sociaty/api_cross_search.go | 6 +- modules/sociaty/api_cross_setting.go | 19 ++--- modules/sociaty/api_cross_settingjob.go | 27 ++++--- modules/sociaty/api_cross_sign.go | 26 ++++--- modules/sociaty/api_cross_tasklist.go | 11 +-- modules/sociaty/model_sociatyboss.go | 6 +- modules/task/api_activelist.go | 10 +-- modules/task/api_activereceive.go | 31 ++++++-- modules/task/api_getrecord.go | 4 +- modules/task/api_list.go | 20 ++--- modules/task/api_receive.go | 41 +++++----- modules/task/api_send.go | 4 +- modules/task/model_task.go | 2 +- 40 files changed, 479 insertions(+), 361 deletions(-) diff --git a/modules/sociaty/api_cross_Formation.go b/modules/sociaty/api_cross_Formation.go index 010079d60..e84bacd99 100644 --- a/modules/sociaty/api_cross_Formation.go +++ b/modules/sociaty/api_cross_Formation.go @@ -15,46 +15,52 @@ func (this *apiComp) Formation(session comm.IUserSession, req *pb.SociatyBFormat if errdata = this.FormationCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() user := this.module.ModuleUser.GetUser(uid) if user == nil { this.module.Error("GetRemoteUser", log.Field{Key: "uid", Value: uid}, ) - code = pb.ErrorCode_UserSessionNobeing return } ggd := this.module.ModuleTools.GetGlobalConf() if ggd == nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), } - data.Title = code.ToString() + return } //检验第二队或第三队是否达到解锁条件 if _, ok := req.Teams[2]; ok { if user.Lv < ggd.GuildBossTroop2 { - code = pb.ErrorCode_SociatyTeamUnlock - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTeamUnlock, + Title: pb.ErrorCode_SociatyTeamUnlock.ToString(), + } return } } if _, ok := req.Teams[3]; ok { if user.Lv < ggd.GuildBossTroop3 { - code = pb.ErrorCode_SociatyTeamUnlock + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTeamUnlock, + Title: pb.ErrorCode_SociatyTeamUnlock.ToString(), + } return } } sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -73,8 +79,6 @@ func (this *apiComp) Formation(session comm.IUserSession, req *pb.SociatyBFormat SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeFormation, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeFormation, rsp) return } diff --git a/modules/sociaty/api_cross_accuse.go b/modules/sociaty/api_cross_accuse.go index 86015a5a0..6e1e71e2a 100644 --- a/modules/sociaty/api_cross_accuse.go +++ b/modules/sociaty/api_cross_accuse.go @@ -17,13 +17,15 @@ func (this *apiComp) Accuse(session comm.IUserSession, req *pb.SociatyAccuseReq) if errdata = this.AccuseCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Datastring = uid - data.Message = SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } + return } @@ -32,14 +34,17 @@ func (this *apiComp) Accuse(session comm.IUserSession, req *pb.SociatyAccuseReq) pb.SociatyJob_VICEPRESIDENT, pb.SociatyJob_ADMIN, pb.SociatyJob_MEMBER) { - code = pb.ErrorCode_SociatyNoRight - data.Message = SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } // 弹劾 if err := this.module.modelSociaty.accuse(sociaty); err != nil { var customErr = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customErr) { code = customErr.Code } else { @@ -49,7 +54,12 @@ func (this *apiComp) Accuse(session comm.IUserSession, req *pb.SociatyAccuseReq) Message: err.Error(), } } - data.Datastring = sociaty.Id + + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Datastring: sociaty.Id, + } this.module.Error("弹劾", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -62,8 +72,6 @@ func (this *apiComp) Accuse(session comm.IUserSession, req *pb.SociatyAccuseReq) SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeAccuse, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeAccuse, rsp) return } diff --git a/modules/sociaty/api_cross_activitylist.go b/modules/sociaty/api_cross_activitylist.go index 7d2e5bfef..8ac629629 100644 --- a/modules/sociaty/api_cross_activitylist.go +++ b/modules/sociaty/api_cross_activitylist.go @@ -12,13 +12,14 @@ func (this *apiComp) ActivitylistCheck(session comm.IUserSession, req *pb.Sociat } func (this *apiComp) Activitylist(session comm.IUserSession, req *pb.SociatyActivityListReq) (errdata *pb.ErrorData) { - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Datastring = uid - data.Message = SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -37,9 +38,7 @@ func (this *apiComp) Activitylist(session comm.IUserSession, req *pb.SociatyActi rsp.List = activityList } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeActivityList, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeActivityList, rsp) return } diff --git a/modules/sociaty/api_cross_activityreceive.go b/modules/sociaty/api_cross_activityreceive.go index 9890ebda7..c8f73b917 100644 --- a/modules/sociaty/api_cross_activityreceive.go +++ b/modules/sociaty/api_cross_activityreceive.go @@ -23,12 +23,15 @@ func (this *apiComp) Activityreceive(session comm.IUserSession, req *pb.SociatyA if errdata = this.ActivityreceiveCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -37,7 +40,10 @@ func (this *apiComp) Activityreceive(session comm.IUserSession, req *pb.SociatyA for _, v := range sociatyTask.ActivityList { if v.Id == req.Id { if v.Status == 1 { - code = pb.ErrorCode_SociatyRewardReceived + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyRewardReceived, + Title: pb.ErrorCode_SociatyRewardReceived.ToString(), + } return } break @@ -49,16 +55,17 @@ func (this *apiComp) Activityreceive(session comm.IUserSession, req *pb.SociatyA errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), } return } //是否满足领取条件 if sociaty.Activity < conf.Activity { - code = pb.ErrorCode_SociatyActivityNoEnough - data.Datastring = uid - data.Message = fmt.Sprintf("活跃度不足 实际:%d 期望:%d", sociaty.Activity, conf.Activity) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyActivityNoEnough, + Title: pb.ErrorCode_SociatyActivityNoEnough.ToString(), + Message: fmt.Sprintf("活跃度不足 实际:%d 期望:%d", sociaty.Activity, conf.Activity), + } return } @@ -78,8 +85,6 @@ func (this *apiComp) Activityreceive(session comm.IUserSession, req *pb.SociatyA SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeActivityReceive, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeActivityReceive, rsp) return } diff --git a/modules/sociaty/api_cross_agree.go b/modules/sociaty/api_cross_agree.go index c00f9f46e..0acb1234a 100644 --- a/modules/sociaty/api_cross_agree.go +++ b/modules/sociaty/api_cross_agree.go @@ -24,14 +24,14 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.SociatyAgreeReq) ( if errdata = this.AgreeCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() - data.Datastring = uid - data.Message = SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -40,14 +40,16 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.SociatyAgreeReq) ( pb.SociatyJob_PRESIDENT, pb.SociatyJob_VICEPRESIDENT, pb.SociatyJob_ADMIN) { - code = pb.ErrorCode_SociatyNoRight - data.Title = code.ToString() - data.Message = SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } if err := this.module.modelSociaty.agree(req.Uid, sociaty); err != nil { var customError = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customError) { code = customError.Code } else { @@ -57,8 +59,11 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.SociatyAgreeReq) ( Message: err.Error(), } } - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } this.module.Error("公会审核-同意", log.Field{Key: "uid", Value: uid}, log.Field{Key: "申请人", Value: req.Uid}, @@ -84,10 +89,7 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.SociatyAgreeReq) ( SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeAgree, rsp); err != nil { - code = pb.ErrorCode_SystemError - return - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeAgree, rsp) //审核通过推送给申请人 if err := this.module.SendMsgToUser(string(this.module.GetType()), "pagree", &pb.SociatyPAgreePush{ diff --git a/modules/sociaty/api_cross_apply.go b/modules/sociaty/api_cross_apply.go index afbdf8c03..b7965e656 100644 --- a/modules/sociaty/api_cross_apply.go +++ b/modules/sociaty/api_cross_apply.go @@ -27,15 +27,14 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) ( return } - data = &pb.ErrorData{} uid := session.GetUserId() sociaty := this.module.modelSociaty.getSociaty(req.SociatyId) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() - data.Datastring = req.SociatyId - this.module.Error("公会未找到", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: req.SociatyId}) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -43,58 +42,69 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) ( userEx, err := this.module.ModuleUser.GetUserExpand(uid) if err != nil { this.module.Error("GetRemoteUserExpand", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) - code = pb.ErrorCode_UserNofound - data.Title = code.ToString() - data.Datastring = uid - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserNofound, + Title: pb.ErrorCode_UserNofound.ToString(), + } return } if utils.IsInCDHour(userEx.SociatyCd) { - code = pb.ErrorCode_SociatyCDLimit - data.Title = code.ToString() - data.Message = fmt.Sprintf("CD内[%v]不允许申请", userEx.SociatyCd) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyCDLimit, + Title: pb.ErrorCode_SociatyCDLimit.ToString(), + Message: fmt.Sprintf("CD内[%v]不允许申请", userEx.SociatyCd), + } return } // 是否公会成员 if this.module.modelSociaty.isMember(uid, sociaty) { - code = pb.ErrorCode_SociatyBelongTo - data.Title = code.ToString() - data.Datastring = sociaty.Id - data.Message = fmt.Sprintf("[%v]已经是公会[%v]成员", uid, sociaty.Name) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyBelongTo, + Title: pb.ErrorCode_SociatyBelongTo.ToString(), + Message: fmt.Sprintf("[%v]已经是公会[%v]成员", uid, sociaty.Name), + } return } user := this.module.ModuleUser.GetUser(uid) if user == nil { - code = pb.ErrorCode_UserNofound - data.Title = code.ToString() - data.Datastring = uid + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserNofound, + Title: pb.ErrorCode_UserNofound.ToString(), + Datastring: uid, + } return } // 是否达到入会等级 if user.Lv < sociaty.ApplyLv { - code = pb.ErrorCode_SociatyAppyLvNoEnough - data.Title = code.ToString() - data.Message = fmt.Sprintf("实际等级:%v 期望等级:%v", user.Lv, sociaty.ApplyLv) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyAppyLvNoEnough, + Title: pb.ErrorCode_SociatyAppyLvNoEnough.ToString(), + Message: fmt.Sprintf("实际等级:%v 期望等级:%v", user.Lv, sociaty.ApplyLv), + } return } // 是否已申请 if this.module.modelSociaty.isApplied(uid, sociaty) { - code = pb.ErrorCode_SociatyApplied - data.Title = code.ToString() - data.Message = fmt.Sprintf("[%v]已申请", sociaty.Name) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyApplied, + Title: pb.ErrorCode_SociatyApplied.ToString(), + Message: fmt.Sprintf("[%v]已申请", sociaty.Name), + } return } //判断申请人数是否超出最大允许申请数 if len(sociaty.ApplyRecord) >= int(this.module.globalConf.GuildAcceptApplyMax) { - code = pb.ErrorCode_SociatyApplyMax - data.Title = code.ToString() - data.Message = fmt.Sprintf("实际人数:%d 期望人数:%d", len(sociaty.ApplyRecord), int(this.module.globalConf.GuildAcceptApplyMax)) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyApplyMax, + Title: pb.ErrorCode_SociatyApplyMax.ToString(), + Message: fmt.Sprintf("实际人数:%d 期望人数:%d", len(sociaty.ApplyRecord), int(this.module.globalConf.GuildAcceptApplyMax)), + } return } @@ -102,6 +112,7 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) ( isCheck, err := this.module.modelSociaty.apply(uid, sociaty) if err != nil { var customError = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customError) { code = customError.Code } else { @@ -111,8 +122,11 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) ( Message: err.Error(), } } - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } this.module.Error("公会申请", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: req.SociatyId}, @@ -130,8 +144,6 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.SociatyApplyReq) ( Uid: uid, ScoiatyId: req.SociatyId, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeApply, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeApply, rsp) return } diff --git a/modules/sociaty/api_cross_applycancel.go b/modules/sociaty/api_cross_applycancel.go index d0fe40130..2b81bc904 100644 --- a/modules/sociaty/api_cross_applycancel.go +++ b/modules/sociaty/api_cross_applycancel.go @@ -23,14 +23,15 @@ func (this *apiComp) ApplyCancel(session comm.IUserSession, req *pb.SociatyApply if errdata = this.ApplyCancelCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getSociaty(req.SociatyId) if sociaty != nil && sociaty.Id == "" { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() - this.module.Error("公会未找到", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: req.SociatyId}) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -52,8 +53,6 @@ func (this *apiComp) ApplyCancel(session comm.IUserSession, req *pb.SociatyApply Uid: uid, ScoiatyId: req.SociatyId, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeApplyCanel, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeApplyCanel, rsp) return } diff --git a/modules/sociaty/api_cross_applylist.go b/modules/sociaty/api_cross_applylist.go index 2a959f0ce..4c83d36a7 100644 --- a/modules/sociaty/api_cross_applylist.go +++ b/modules/sociaty/api_cross_applylist.go @@ -23,15 +23,14 @@ func (this *apiComp) ApplyList(session comm.IUserSession, req *pb.SociatyApplyLi if errdata = this.ApplyListCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getSociaty(req.SociatyId) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - this.module.Error("公会未找到", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "sociatyId", Value: req.SociatyId}, - ) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } @@ -40,7 +39,10 @@ func (this *apiComp) ApplyList(session comm.IUserSession, req *pb.SociatyApplyLi pb.SociatyJob_PRESIDENT, pb.SociatyJob_VICEPRESIDENT, pb.SociatyJob_ADMIN) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } @@ -48,8 +50,6 @@ func (this *apiComp) ApplyList(session comm.IUserSession, req *pb.SociatyApplyLi rsp := &pb.SociatyApplyListResp{ List: list, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeApplyList, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeApplyList, rsp) return } diff --git a/modules/sociaty/api_cross_assign.go b/modules/sociaty/api_cross_assign.go index 3faf17596..96bca91d1 100644 --- a/modules/sociaty/api_cross_assign.go +++ b/modules/sociaty/api_cross_assign.go @@ -23,7 +23,7 @@ func (this *apiComp) Assign(session comm.IUserSession, req *pb.SociatyAssignReq) if errdata = this.AssignCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() if uid == req.TargetId { errdata = &pb.ErrorData{ @@ -36,20 +36,28 @@ func (this *apiComp) Assign(session comm.IUserSession, req *pb.SociatyAssignReq) sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } return } // 校验权限 if !this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } // 校验目标是否公会成员 if !this.module.modelSociaty.isMember(req.TargetId, sociaty) { - code = pb.ErrorCode_SociatyNoMember + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoMember, + Title: pb.ErrorCode_SociatyNoMember.ToString(), + } return } @@ -73,6 +81,7 @@ func (this *apiComp) Assign(session comm.IUserSession, req *pb.SociatyAssignReq) if err := this.module.modelSociatyLog.addLog(Log_Job, sociaty.Id, uid, req.TargetId, pb.SociatyJob_PRESIDENT.String()); err != nil { var customErr = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customErr) { code = customErr.Code } else { @@ -82,6 +91,11 @@ func (this *apiComp) Assign(session comm.IUserSession, req *pb.SociatyAssignReq) Message: err.Error(), } } + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } this.module.Error("公会转让日志", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -96,8 +110,6 @@ func (this *apiComp) Assign(session comm.IUserSession, req *pb.SociatyAssignReq) SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeAssign, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeAssign, rsp) return } diff --git a/modules/sociaty/api_cross_bossmain.go b/modules/sociaty/api_cross_bossmain.go index a27e62675..6c425af4d 100644 --- a/modules/sociaty/api_cross_bossmain.go +++ b/modules/sociaty/api_cross_bossmain.go @@ -15,13 +15,12 @@ func (this *apiComp) BossmainCheck(session comm.IUserSession, req *pb.SociatyBMa func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq) (errdata *pb.ErrorData) { uid := session.GetUserId() - data = &pb.ErrorData{} + ggd := this.module.ModuleTools.GetGlobalConf() if ggd == nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), } return } @@ -31,7 +30,10 @@ func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}, ) - code = pb.ErrorCode_UserSessionNobeing + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserSessionNobeing, + Title: pb.ErrorCode_UserSessionNobeing.ToString(), + } return } @@ -58,8 +60,11 @@ func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -67,7 +72,10 @@ func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq // 赛季信息 dbs := this.module.modelSociatyBoss.getSociatyBossSports() if dbs == nil { - code = pb.ErrorCode_SociatySportsNoinit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySportsNoinit, + Title: pb.ErrorCode_SociatySportsNoinit.ToString(), + } return } rsp.EndTime = dbs.EndTime @@ -92,8 +100,6 @@ func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq rsp.Teams = sm.Teams } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeBossmain, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeBossmain, rsp) return } diff --git a/modules/sociaty/api_cross_bossrank.go b/modules/sociaty/api_cross_bossrank.go index 1fb5bbfbf..68db0eb44 100644 --- a/modules/sociaty/api_cross_bossrank.go +++ b/modules/sociaty/api_cross_bossrank.go @@ -22,12 +22,15 @@ func (this *apiComp) Brank(session comm.IUserSession, req *pb.SociatyBRankReq) ( if errdata = this.BrankCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -38,8 +41,6 @@ func (this *apiComp) Brank(session comm.IUserSession, req *pb.SociatyBRankReq) ( Rank: sri, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeBrank, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeBrank, rsp) return } diff --git a/modules/sociaty/api_cross_breceive.go b/modules/sociaty/api_cross_breceive.go index 003a27d1a..d28992feb 100644 --- a/modules/sociaty/api_cross_breceive.go +++ b/modules/sociaty/api_cross_breceive.go @@ -22,12 +22,14 @@ func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceive if errdata = this.BreceiveCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -35,9 +37,8 @@ func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceive taskConf := this.module.configure.getBossTask(req.TaskId) if taskConf == nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), } return } @@ -48,10 +49,16 @@ func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceive if task.TaskId == req.TaskId { taskId = task.TaskId if task.Status == 2 { //已领取 - code = pb.ErrorCode_SociatyTaskReceived + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTaskReceived, + Title: pb.ErrorCode_SociatyTaskReceived.ToString(), + } return } else if taskId == 0 { //未完成 - code = pb.ErrorCode_SociatyTaskNoFinished + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTaskNoFinished, + Title: pb.ErrorCode_SociatyTaskNoFinished.ToString(), + } return } else if taskId == 1 { //可领取 task.Status = 2 @@ -74,7 +81,7 @@ func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceive } // 奖励 - if code := this.module.DispenseRes(session, taskConf.Reward, true); errdata != nil { + if errdata := this.module.DispenseRes(session, taskConf.Reward, true); errdata != nil { this.module.Error("积分任务奖励领取", log.Field{Key: "uid", Value: uid}, log.Field{Key: "taskId", Value: taskId}, @@ -85,8 +92,6 @@ func (this *apiComp) Breceive(session comm.IUserSession, req *pb.SociatyBReceive SociatyId: sociaty.Id, TaskId: req.TaskId, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeBreceive, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeBreceive, rsp) return } diff --git a/modules/sociaty/api_cross_buy.go b/modules/sociaty/api_cross_buy.go index f57cb2e84..0ae95f6f8 100644 --- a/modules/sociaty/api_cross_buy.go +++ b/modules/sociaty/api_cross_buy.go @@ -21,21 +21,22 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (errd if errdata = this.BuyCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + ggd := this.module.ModuleTools.GetGlobalConf() if ggd == nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), } return } uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + } this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -43,13 +44,16 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (errd //校验钻石 imodule, err := this.module.service.GetModule(comm.ModuleUser) if err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ExternalModule, + Title: pb.ErrorCode_ExternalModule.ToString(), + Message: comm.NewExternalModuleErr("user", "").Error(), + } return } iuser, ok := imodule.(comm.IUser) if !ok { - code = pb.ErrorCode_SystemError return } @@ -64,9 +68,11 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (errd ex, err := iuser.GetUserExpand(uid) if err != nil { - code = pb.ErrorCode_UserSessionNobeing - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserSessionNobeing, + Title: pb.ErrorCode_UserSessionNobeing.ToString(), + Message: err.Error(), + } return } @@ -84,7 +90,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (errd //扣除资源 if errdata = this.module.DispenseRes(session, atn, true); errdata != nil { - data.Title = code.ToString() return } @@ -92,8 +97,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (errd Uid: uid, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeBuy, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeBuy, rsp) return } diff --git a/modules/sociaty/api_cross_challengefinish.go b/modules/sociaty/api_cross_challengefinish.go index 3bd472860..0d004fe87 100644 --- a/modules/sociaty/api_cross_challengefinish.go +++ b/modules/sociaty/api_cross_challengefinish.go @@ -15,11 +15,14 @@ func (this *apiComp) Challengefinish(session comm.IUserSession, req *pb.SociatyB if errdata = this.ChallengefinishCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -30,7 +33,7 @@ func (this *apiComp) Challengefinish(session comm.IUserSession, req *pb.SociatyB log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}, ) - code = pb.ErrorCode_UserSessionNobeing + return } @@ -51,8 +54,6 @@ func (this *apiComp) Challengefinish(session comm.IUserSession, req *pb.SociatyB Integral: this.module.modelSociatyBoss.transIntegral(req.Report.Harm), } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeChallengefinish, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeChallengefinish, rsp) return } diff --git a/modules/sociaty/api_cross_challengestart.go b/modules/sociaty/api_cross_challengestart.go index cef5c7393..8314fc997 100644 --- a/modules/sociaty/api_cross_challengestart.go +++ b/modules/sociaty/api_cross_challengestart.go @@ -16,11 +16,15 @@ func (this *apiComp) Challengestart(session comm.IUserSession, req *pb.SociatyBC if errdata = this.ChallengestartCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -31,19 +35,22 @@ func (this *apiComp) Challengestart(session comm.IUserSession, req *pb.SociatyBC log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}, ) - code = pb.ErrorCode_UserSessionNobeing - data.Title = code.ToString() - data.Message = err.Error() return } if userEx.SociatyTicket <= 0 { - code = pb.ErrorCode_SociatyTicketsNoEnough + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTicketsNoEnough, + Title: pb.ErrorCode_SociatyTicketsNoEnough.ToString(), + } return } //校验赛季时间 if this.module.modelSociatyBoss.sportsIsFinished() { - code = pb.ErrorCode_SociatySportsEnd + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySportsEnd, + Title: pb.ErrorCode_SociatySportsEnd.ToString(), + } return } @@ -51,10 +58,11 @@ func (this *apiComp) Challengestart(session comm.IUserSession, req *pb.SociatyBC if err := this.module.modelSociatyBoss.challengestart(session, sociaty); err != nil { var customErr = new(comm.CustomError) if errors.As(err, &customErr) { - code = customErr.Code - // if code == pb.ErrorCode_SociatyNoFormation { - // return - // } + code := customErr.Code + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + } return } } @@ -64,8 +72,6 @@ func (this *apiComp) Challengestart(session comm.IUserSession, req *pb.SociatyBC Uid: uid, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeChallengestart, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeChallengestart, rsp) return } diff --git a/modules/sociaty/api_cross_create.go b/modules/sociaty/api_cross_create.go index 7342e62e9..f98b3c9cc 100644 --- a/modules/sociaty/api_cross_create.go +++ b/modules/sociaty/api_cross_create.go @@ -29,12 +29,11 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) if errdata = this.CreateCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() user := this.module.ModuleUser.GetUser(uid) if user == nil { this.module.Error("GetRmoteUser not found", log.Field{Key: "uid", Value: uid}) - code = pb.ErrorCode_UserSessionNobeing return } @@ -45,20 +44,25 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data.Title = code.ToString() + return } // CD校验 if utils.IsInCDHour(userExpand.SociatyCd) { - code = pb.ErrorCode_SociatyCDLimit - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyCDLimit, + Title: pb.ErrorCode_SociatyCDLimit.ToString(), + } return } //检查是否已加入公会 if userExpand.SociatyId != "" { - code = pb.ErrorCode_SociatyAdded + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyAdded, + Title: pb.ErrorCode_SociatyAdded.ToString(), + } return } @@ -66,7 +70,12 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) if err := this.module.modelSociaty.isNameExist(req.Name); err != nil { var customErr = new(comm.CustomError) if errors.As(err, &customErr) { - code = customErr.Code + code := customErr.Code + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } return } errdata = &pb.ErrorData{ @@ -97,7 +106,11 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) } if req.ApplyLv > maxLv { - code = pb.ErrorCode_SociatyApplyLvLimit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyApplyLvLimit, + Title: pb.ErrorCode_SociatyApplyLvLimit.ToString(), + Message: err.Error(), + } return } @@ -119,17 +132,21 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) }) if err := this.module.modelSociaty.create(sociaty); err != nil { var customError = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customError) { - if customError.Code == pb.ErrorCode_SociatyNoFound { - code = pb.ErrorCode_SociatyNoFound - } else { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DBError, - Title: pb.ErrorCode_DBError.ToString(), - Message: err.Error(), - } + code = customError.Code + } else { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), } } + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } this.module.Error("创建公会", log.Field{Key: "uid", Value: uid}, log.Field{Key: "params", Value: req.String()}, @@ -168,12 +185,9 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.SociatyCreateReq) } }() - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeCreate, &pb.SociatyCreateResp{ + session.SendMsg(string(this.module.GetType()), SociatySubTypeCreate, &pb.SociatyCreateResp{ Id: sociaty.Id, Uid: uid, - }); err != nil { - code = pb.ErrorCode_SystemError - return - } + }) return } diff --git a/modules/sociaty/api_cross_discharge.go b/modules/sociaty/api_cross_discharge.go index 96ac81e39..a1d1e0390 100644 --- a/modules/sociaty/api_cross_discharge.go +++ b/modules/sociaty/api_cross_discharge.go @@ -24,11 +24,14 @@ func (this *apiComp) Discharge(session comm.IUserSession, req *pb.SociatyDischar if errdata = this.DischargeCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -37,13 +40,17 @@ func (this *apiComp) Discharge(session comm.IUserSession, req *pb.SociatyDischar if !this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT, pb.SociatyJob_VICEPRESIDENT) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } // 踢人 if err := this.module.modelSociaty.discharge(req.TargetId, sociaty); err != nil { var customError = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customError) { code = customError.Code } else { @@ -53,8 +60,10 @@ func (this *apiComp) Discharge(session comm.IUserSession, req *pb.SociatyDischar Message: err.Error(), } } - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + } this.module.Error("踢出公会", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -109,8 +118,6 @@ func (this *apiComp) Discharge(session comm.IUserSession, req *pb.SociatyDischar SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeDischarge, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeDischarge, rsp) return } diff --git a/modules/sociaty/api_cross_dismiss.go b/modules/sociaty/api_cross_dismiss.go index 64bfaa613..bee647fc7 100644 --- a/modules/sociaty/api_cross_dismiss.go +++ b/modules/sociaty/api_cross_dismiss.go @@ -25,11 +25,14 @@ func (this *apiComp) Dismiss(session comm.IUserSession, req *pb.SociatyDismissRe return } - data = &pb.ErrorData{} uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoFound, + Title: pb.ErrorCode_SociatyNoFound.ToString(), + } + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -42,7 +45,10 @@ func (this *apiComp) Dismiss(session comm.IUserSession, req *pb.SociatyDismissRe // 校验权限 if !this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } @@ -53,7 +59,10 @@ func (this *apiComp) Dismiss(session comm.IUserSession, req *pb.SociatyDismissRe if sociaty.DismissTime == 0 { if sociaty.DismissCD != 0 { if utils.IsInCDHour(int64(sociaty.DismissCD)) { - code = pb.ErrorCode_SociatyCDLimit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyCDLimit, + Title: pb.ErrorCode_SociatyCDLimit.ToString(), + } return } else { update["dismissCD"] = 0 @@ -68,7 +77,10 @@ func (this *apiComp) Dismiss(session comm.IUserSession, req *pb.SociatyDismissRe update["dismissCD"] = utils.AddHour(int(globalCnf.GuildDissolutionCd)).Unix() } else { if utils.IsInCDHour(int64(sociaty.DismissCD)) { - code = pb.ErrorCode_SociatyCDLimit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyCDLimit, + Title: pb.ErrorCode_SociatyCDLimit.ToString(), + } return } } @@ -89,8 +101,6 @@ func (this *apiComp) Dismiss(session comm.IUserSession, req *pb.SociatyDismissRe } } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeDismiss, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeDismiss, rsp) return } diff --git a/modules/sociaty/api_cross_list.go b/modules/sociaty/api_cross_list.go index 29a05b63f..bffc93518 100644 --- a/modules/sociaty/api_cross_list.go +++ b/modules/sociaty/api_cross_list.go @@ -37,8 +37,6 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.SociatyListReq) (er rsp.List = append(rsp.List, info) } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeList, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeList, rsp) return } diff --git a/modules/sociaty/api_cross_log.go b/modules/sociaty/api_cross_log.go index 0e40968a3..c2aaa25d4 100644 --- a/modules/sociaty/api_cross_log.go +++ b/modules/sociaty/api_cross_log.go @@ -16,7 +16,6 @@ func (this *apiComp) Log(session comm.IUserSession, req *pb.SociatyLogReq) (errd uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -31,8 +30,6 @@ func (this *apiComp) Log(session comm.IUserSession, req *pb.SociatyLogReq) (errd }, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeLog, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeLog, rsp) return } diff --git a/modules/sociaty/api_cross_members.go b/modules/sociaty/api_cross_members.go index f8771cc8a..b890f8459 100644 --- a/modules/sociaty/api_cross_members.go +++ b/modules/sociaty/api_cross_members.go @@ -16,7 +16,6 @@ func (this *apiComp) Members(session comm.IUserSession, req *pb.SociatyMembersRe uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -27,8 +26,6 @@ func (this *apiComp) Members(session comm.IUserSession, req *pb.SociatyMembersRe List: members, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeMembers, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeMembers, rsp) return } diff --git a/modules/sociaty/api_cross_mine.go b/modules/sociaty/api_cross_mine.go index bcae2868a..e6c5bd027 100644 --- a/modules/sociaty/api_cross_mine.go +++ b/modules/sociaty/api_cross_mine.go @@ -14,7 +14,7 @@ func (this *apiComp) MineCheck(session comm.IUserSession, req *pb.SociatyMineReq } func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (errdata *pb.ErrorData) { - data = &pb.ErrorData{} + uid := session.GetUserId() userEx, err := this.module.ModuleUser.GetUserExpand(uid) if err != nil { @@ -22,7 +22,6 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (er log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}, ) - code = pb.ErrorCode_UserSessionNobeing return } @@ -30,22 +29,28 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (er // 未加入公会 if userEx.SociatyId == "" { - code = pb.ErrorCode_SociatyNoAdded + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoAdded, + Title: pb.ErrorCode_SociatyNoAdded.ToString(), + Message: err.Error(), + } return } // 获取公会 sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } //判断公会是否解散(公会解散非立即执行) if this.module.modelSociaty.isDismiss(sociaty) { - code = pb.ErrorCode_SociatyDismissed - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyDismissed, + Title: pb.ErrorCode_SociatyDismissed.ToString(), + Message: err.Error(), + } return } @@ -83,8 +88,7 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (er Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data.Title = code.ToString() - data.Message = err.Error() + this.module.Error("会长弹劾", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -97,8 +101,6 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (er rsp.Sociaty = sociaty rsp.Master = master - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeMine, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeMine, rsp) return } diff --git a/modules/sociaty/api_cross_quit.go b/modules/sociaty/api_cross_quit.go index c41162783..fd041b010 100644 --- a/modules/sociaty/api_cross_quit.go +++ b/modules/sociaty/api_cross_quit.go @@ -14,11 +14,10 @@ func (this *apiComp) QuitCheck(session comm.IUserSession, req *pb.SociatyQuitReq } func (this *apiComp) Quit(session comm.IUserSession, req *pb.SociatyQuitReq) (errdata *pb.ErrorData) { - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -26,13 +25,19 @@ func (this *apiComp) Quit(session comm.IUserSession, req *pb.SociatyQuitReq) (er // 会长不允许退公会 if this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT) { - code = pb.ErrorCode_SociatyQuitNoAllowed + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyQuitNoAllowed, + Title: pb.ErrorCode_SociatyQuitNoAllowed.ToString(), + } return } // 退出公会 if err := this.module.modelSociaty.quit(uid, sociaty); err != nil { - code = pb.ErrorCode_SociatyQuit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyQuit, + Title: pb.ErrorCode_SociatyQuit.ToString(), + } this.module.Errorf("退出公会", log.Fields{"uid": uid, "sociatyId": sociaty.Id, "err": err.Error()}) return } @@ -49,8 +54,7 @@ func (this *apiComp) Quit(session comm.IUserSession, req *pb.SociatyQuitReq) (er Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data.Title = code.ToString() - data.Message = err.Error() + this.module.Error("退出公会,更新玩家公会ID", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -73,8 +77,6 @@ func (this *apiComp) Quit(session comm.IUserSession, req *pb.SociatyQuitReq) (er Uid: uid, SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeQuit, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeQuit, rsp) return } diff --git a/modules/sociaty/api_cross_rank.go b/modules/sociaty/api_cross_rank.go index 702425fec..807207381 100644 --- a/modules/sociaty/api_cross_rank.go +++ b/modules/sociaty/api_cross_rank.go @@ -18,8 +18,6 @@ func (this *apiComp) Rank(session comm.IUserSession, req *pb.SociatyRankReq) (er Rank: list, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeRank, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeRank, rsp) return } diff --git a/modules/sociaty/api_cross_receive.go b/modules/sociaty/api_cross_receive.go index 06020f1bd..fe9b0e48b 100644 --- a/modules/sociaty/api_cross_receive.go +++ b/modules/sociaty/api_cross_receive.go @@ -26,7 +26,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.SociatyReceiveRe uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -35,11 +34,17 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.SociatyReceiveRe for _, v := range sociatyTask.TaskList { if v.TaskId == req.TaskId { if v.Status != 1 { - code = pb.ErrorCode_SociatyTaskValidation + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyTaskValidation, + Title: pb.ErrorCode_SociatyTaskValidation.ToString(), + } return } if v.Received == 1 { //已领取 - code = pb.ErrorCode_SociatyRewardReceived + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyRewardReceived, + Title: pb.ErrorCode_SociatyRewardReceived.ToString(), + } return } break @@ -48,7 +53,11 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.SociatyReceiveRe // 奖励领取 if err := this.module.modelSociatyTask.receive(req.TaskId, sociaty.Id, uid); err != nil { - code = pb.ErrorCode_SociatyRewardReceive + + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyRewardReceived, + Title: pb.ErrorCode_SociatyRewardReceived.ToString(), + } this.module.Error("领取公会任务奖励", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -67,7 +76,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.SociatyReceiveRe log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, log.Field{Key: "taskId", Value: req.TaskId}, - log.Field{Key: "code", Value: code}, ) } } @@ -99,8 +107,6 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.SociatyReceiveRe TaskId: req.TaskId, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeReceive, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeReceive, rsp) return } diff --git a/modules/sociaty/api_cross_recommend.go b/modules/sociaty/api_cross_recommend.go index 1977cb1af..f34f03ebf 100644 --- a/modules/sociaty/api_cross_recommend.go +++ b/modules/sociaty/api_cross_recommend.go @@ -23,8 +23,6 @@ func (this *apiComp) Recommend(session comm.IUserSession, req *pb.SociatyRecomme rsp := &pb.SociatyRecommendResp{} - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeRecommend, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeRecommend, rsp) return } diff --git a/modules/sociaty/api_cross_refuse.go b/modules/sociaty/api_cross_refuse.go index 89c92e9c7..170f5c777 100644 --- a/modules/sociaty/api_cross_refuse.go +++ b/modules/sociaty/api_cross_refuse.go @@ -24,11 +24,10 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.SociatyRefuseReq) return } - data = &pb.ErrorData{} uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -38,22 +37,28 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.SociatyRefuseReq) pb.SociatyJob_PRESIDENT, pb.SociatyJob_VICEPRESIDENT, pb.SociatyJob_ADMIN) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } // 已是公会成员 if this.module.modelSociaty.isMember(uid, sociaty) { - code = pb.ErrorCode_SociatyAdded - data.Title = code.ToString() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyAdded, + Title: pb.ErrorCode_SociatyAdded.ToString(), + } return } // 拒绝公会申请 if err := this.module.modelSociaty.refuse(req.Uid, sociaty); err != nil { - code = pb.ErrorCode_SociatyRefuse - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyRefuse, + Title: pb.ErrorCode_SociatyRefuse.ToString(), + } this.module.Error("申请拒绝", log.Field{Key: "uid", Value: uid}, log.Field{Key: "拒绝目标人", Value: req.Uid}, @@ -66,8 +71,6 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.SociatyRefuseReq) Uid: req.Uid, SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeRefuse, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeRefuse, rsp) return } diff --git a/modules/sociaty/api_cross_search.go b/modules/sociaty/api_cross_search.go index 9e62f205e..549bb639b 100644 --- a/modules/sociaty/api_cross_search.go +++ b/modules/sociaty/api_cross_search.go @@ -22,15 +22,13 @@ func (this *apiComp) Search(session comm.IUserSession, req *pb.SociatySearchReq) if errdata = this.SearchCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + rsp := &pb.SociatySearchResp{} sociaty := this.module.modelSociaty.findByName(req.Name) if sociaty != nil && sociaty.Id != "" { rsp.List = append(rsp.List, sociaty) } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeSearch, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeSearch, rsp) return } diff --git a/modules/sociaty/api_cross_setting.go b/modules/sociaty/api_cross_setting.go index 41fed86d7..e6cbfa944 100644 --- a/modules/sociaty/api_cross_setting.go +++ b/modules/sociaty/api_cross_setting.go @@ -23,11 +23,10 @@ func (this *apiComp) Setting(session comm.IUserSession, req *pb.SociatySettingRe if errdata = this.SettingCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -35,7 +34,10 @@ func (this *apiComp) Setting(session comm.IUserSession, req *pb.SociatySettingRe // 校验权限 if !this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT, pb.SociatyJob_VICEPRESIDENT) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } @@ -46,9 +48,10 @@ func (this *apiComp) Setting(session comm.IUserSession, req *pb.SociatySettingRe // 更新设置 if err := this.module.modelSociaty.setting(sociaty); err != nil { - code = pb.ErrorCode_SociatySetting - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySetting, + Title: pb.ErrorCode_SociatySetting.ToString(), + } this.module.Error("公会修改", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -62,8 +65,6 @@ func (this *apiComp) Setting(session comm.IUserSession, req *pb.SociatySettingRe SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeSetting, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeSetting, rsp) return } diff --git a/modules/sociaty/api_cross_settingjob.go b/modules/sociaty/api_cross_settingjob.go index ffd56ff0e..7530ee786 100644 --- a/modules/sociaty/api_cross_settingjob.go +++ b/modules/sociaty/api_cross_settingjob.go @@ -22,11 +22,10 @@ func (this *apiComp) SettingJob(session comm.IUserSession, req *pb.SociatySettin if errdata = this.SettingJobCheck(session, req); errdata != nil { return } - data = &pb.ErrorData{} + uid := session.GetUserId() sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -34,13 +33,19 @@ func (this *apiComp) SettingJob(session comm.IUserSession, req *pb.SociatySettin // 权限校验 if !this.module.modelSociaty.isRight(uid, sociaty, pb.SociatyJob_PRESIDENT) { - code = pb.ErrorCode_SociatyNoRight + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoRight, + Title: pb.ErrorCode_SociatyNoRight.ToString(), + } return } // 不能设置自己 if uid == req.TargetId { - code = pb.ErrorCode_SociatySelfSetting + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySelfSetting, + Title: pb.ErrorCode_SociatySelfSetting.ToString(), + } return } @@ -49,13 +54,19 @@ func (this *apiComp) SettingJob(session comm.IUserSession, req *pb.SociatySettin jobCount := this.module.modelSociaty.getJobCount(req.Job, sociaty) if req.Job == pb.SociatyJob_VICEPRESIDENT && jobCount >= int(globalConf.GuildViceAllianceLeaderMaxNum) || req.Job == pb.SociatyJob_ADMIN && jobCount >= int(globalConf.GuildAdministratorsMaxNum) { - code = pb.ErrorCode_SociatyMemberCountLimit + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyMemberCountLimit, + Title: pb.ErrorCode_SociatyMemberCountLimit.ToString(), + } return } // 设置职位 if err := this.module.modelSociaty.settingJob(req.TargetId, req.Job, sociaty); err != nil { - code = pb.ErrorCode_SociatySettingJob + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySettingJob, + Title: pb.ErrorCode_SociatySettingJob.ToString(), + } this.module.Errorf("设置公会职位", log.Fields{"uid": uid, "sociatyId": sociaty.Id, "params": req, "err": err.Error()}) return } @@ -66,8 +77,6 @@ func (this *apiComp) SettingJob(session comm.IUserSession, req *pb.SociatySettin Job: req.Job, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeSettingJob, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeSettingJob, rsp) return } diff --git a/modules/sociaty/api_cross_sign.go b/modules/sociaty/api_cross_sign.go index 36ad073e0..f5a524492 100644 --- a/modules/sociaty/api_cross_sign.go +++ b/modules/sociaty/api_cross_sign.go @@ -16,31 +16,36 @@ func (this *apiComp) Sign(session comm.IUserSession, req *pb.SociatySignReq) (er return } uid := session.GetUserId() - data = &pb.ErrorData{} sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } // 不是该公会成员 if !this.module.modelSociaty.isMember(uid, sociaty) { - code = pb.ErrorCode_SociatyNoAdded + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatyNoAdded, + Title: pb.ErrorCode_SociatyNoAdded.ToString(), + } return } // 判断是否已签到 if this.module.modelSociaty.IsSign(uid, sociaty) { - code = pb.ErrorCode_SociatySigned + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySigned, + Title: pb.ErrorCode_SociatySigned.ToString(), + } return } // 签到 if err := this.module.modelSociaty.sign(uid, sociaty); err != nil { - code = pb.ErrorCode_SociatySign - data.Title = code.ToString() - data.Message = err.Error() + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SociatySign, + Title: pb.ErrorCode_SociatySign.ToString(), + } this.module.Error("签到失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, log.Field{Key: "err", Value: err.Error()}) return } @@ -51,13 +56,12 @@ func (this *apiComp) Sign(session comm.IUserSession, req *pb.SociatySignReq) (er for _, v := range this.module.sociatySignConf.GetDataList() { if lastSignCount >= v.Down && lastSignCount <= v.Up { // 发放签到奖励 - if errdata = this.module.DispenseRes(session, v.Reward, true); code == pb.ErrorCode_Success { + if errdata = this.module.DispenseRes(session, v.Reward, true); errdata == nil { signCfgId = v.Id } else { log.Error("发放签到奖励失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, - log.Field{Key: "code", Value: code}, ) } break @@ -91,8 +95,6 @@ func (this *apiComp) Sign(session comm.IUserSession, req *pb.SociatySignReq) (er SociatyId: sociaty.Id, } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeSign, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeSign, rsp) return } diff --git a/modules/sociaty/api_cross_tasklist.go b/modules/sociaty/api_cross_tasklist.go index 2f34f74d9..f7e36877e 100644 --- a/modules/sociaty/api_cross_tasklist.go +++ b/modules/sociaty/api_cross_tasklist.go @@ -14,10 +14,10 @@ func (this *apiComp) TaskListCheck(session comm.IUserSession, req *pb.SociatyTas func (this *apiComp) TaskList(session comm.IUserSession, req *pb.SociatyTaskListReq) (errdata *pb.ErrorData) { uid := session.GetUserId() - data = &pb.ErrorData{} + sociaty := this.module.modelSociaty.getUserSociaty(uid) if sociaty == nil { - code = pb.ErrorCode_SociatyNoFound + this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid}) return } @@ -47,8 +47,7 @@ func (this *apiComp) TaskList(session comm.IUserSession, req *pb.SociatyTaskList Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } - data.Title = code.ToString() - data.Message = err.Error() + this.module.Error("更新公会任务列表失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "sociatyId", Value: sociaty.Id}, @@ -56,8 +55,6 @@ func (this *apiComp) TaskList(session comm.IUserSession, req *pb.SociatyTaskList } } - if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeTasklist, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), SociatySubTypeTasklist, rsp) return } diff --git a/modules/sociaty/model_sociatyboss.go b/modules/sociaty/model_sociatyboss.go index 5af77aa81..ef0ebd33b 100644 --- a/modules/sociaty/model_sociatyboss.go +++ b/modules/sociaty/model_sociatyboss.go @@ -172,7 +172,7 @@ func (s *ModelSociatyBoss) setFormation(sociaty *pb.DBSociaty, uid string, teams return s.moduleSociaty.modelSociaty.updateSociaty(sociaty.Id, update) } -//挑战开始 +// 挑战开始 func (s *ModelSociatyBoss) challengestart(session comm.IUserSession, sociaty *pb.DBSociaty) error { //组装阵容数据 var formations []*pb.BattleFormation @@ -195,8 +195,8 @@ func (s *ModelSociatyBoss) challengestart(session comm.IUserSession, sociaty *pb Ptype: pb.PlayType_sociaty, Title: "公会BOSS", Format: formations, - }); errdata != nil { - return comm.NewCustomError(code) + }); code != nil { + return comm.NewCustomError(pb.ErrorCode_ExternalModule) } } return nil diff --git a/modules/task/api_activelist.go b/modules/task/api_activelist.go index bd986995b..03b74ffd7 100644 --- a/modules/task/api_activelist.go +++ b/modules/task/api_activelist.go @@ -8,7 +8,10 @@ import ( // 活跃度列表 func (this *apiComp) ActiveListCheck(session comm.IUserSession, req *pb.TaskActiveListReq) (errdata *pb.ErrorData) { if req.TaskTag <= 0 || req.TaskTag > 2 { - code = pb.ErrorCode_TaskTagEmpty + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + } } return } @@ -20,10 +23,7 @@ func (this *apiComp) ActiveList(session comm.IUserSession, req *pb.TaskActiveLis resp := &pb.TaskActiveListResp{} defer func() { - if err := session.SendMsg(string(this.module.GetType()), TaskSubTypeActiveList, resp); err != nil { - code = pb.ErrorCode_SystemError - return - } + session.SendMsg(string(this.module.GetType()), TaskSubTypeActiveList, resp) }() // 获取玩家活跃度 diff --git a/modules/task/api_activereceive.go b/modules/task/api_activereceive.go index 8183b9122..924a938be 100644 --- a/modules/task/api_activereceive.go +++ b/modules/task/api_activereceive.go @@ -9,11 +9,17 @@ import ( // 活跃度领取 func (this *apiComp) ActiveReceiveCheck(session comm.IUserSession, req *pb.TaskActiveReceiveReq) (errdata *pb.ErrorData) { + var code pb.ErrorCode if req.Id == 0 { code = pb.ErrorCode_TaskIdEmpty } else if req.TaskTag <= 0 || req.TaskTag > 2 { code = pb.ErrorCode_TaskTagEmpty } + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + } + return } @@ -34,7 +40,11 @@ func (this *apiComp) ActiveReceive(session comm.IUserSession, req *pb.TaskActive } if ue == nil { - code = pb.ErrorCode_UserExpandNull + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_UserExpandNull, + Title: pb.ErrorCode_UserExpandNull.ToString(), + Message: err.Error(), + } return } var rewards []*cfg.Gameatn @@ -58,12 +68,21 @@ func (this *apiComp) ActiveReceive(session comm.IUserSession, req *pb.TaskActive if req.TaskTag == int32(comm.TASK_DAILY) { if ue.Activeday < conf.Active { - code = pb.ErrorCode_TaskActiveNoenough + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskActiveNoenough, + Title: pb.ErrorCode_TaskActiveNoenough.ToString(), + Message: err.Error(), + } return } } else if req.TaskTag == int32(comm.TASK_WEEKLY) { if ue.Activeweek < conf.Active { - code = pb.ErrorCode_TaskActiveNoenough + + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskActiveNoenough, + Title: pb.ErrorCode_TaskActiveNoenough.ToString(), + Message: err.Error(), + } return } } @@ -96,7 +115,6 @@ func (this *apiComp) ActiveReceive(session comm.IUserSession, req *pb.TaskActive this.module.Error("活跃度奖励", log.Field{Key: "uid", Value: uid}, log.Field{Key: "rewards", Value: rewards}, - log.Field{Key: "code", Value: code}, ) } go this.module.ModuleBuried.TriggerBuried(uid, comm.GetBuriedParam(comm.Rtype171, 1)) @@ -107,10 +125,7 @@ func (this *apiComp) ActiveReceive(session comm.IUserSession, req *pb.TaskActive Id: req.Id, } - err = session.SendMsg(string(this.module.GetType()), TaskSubTypeActiveReceive, resp) - if err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), TaskSubTypeActiveReceive, resp) return } diff --git a/modules/task/api_getrecord.go b/modules/task/api_getrecord.go index 2c2943966..5221ec2ad 100644 --- a/modules/task/api_getrecord.go +++ b/modules/task/api_getrecord.go @@ -21,8 +21,6 @@ func (this *apiComp) Getrecord(session comm.IUserSession, req *pb.TaskGetrecordR } } } - if err := session.SendMsg(string(this.module.GetType()), TaskSubTypeGetrecord, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), TaskSubTypeGetrecord, rsp) return } diff --git a/modules/task/api_list.go b/modules/task/api_list.go index aad454ef5..7fd35d46e 100644 --- a/modules/task/api_list.go +++ b/modules/task/api_list.go @@ -9,7 +9,10 @@ import ( func (this *apiComp) ListCheck(session comm.IUserSession, req *pb.TaskListReq) (errdata *pb.ErrorData) { if req.TaskTag <= 0 || req.TaskTag > 3 { - code = pb.ErrorCode_TaskTagEmpty + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + } } return } @@ -20,17 +23,12 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.TaskListReq) (errda } rsp := &pb.TaskListResp{} - defer func() { - err := session.SendMsg(string(this.module.GetType()), TaskSubTypeList, rsp) - if err != nil { - code = pb.ErrorCode_SystemError - return - } - }() - task := this.module.modelTask.getTaskListByTag(session.GetUserId(), comm.TaskTag(req.TaskTag)) if task == nil { - code = pb.ErrorCode_TaskNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskNotFound, + Title: pb.ErrorCode_TaskNotFound.ToString(), + } return } @@ -42,5 +40,7 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.TaskListReq) (errda case int32(comm.TASK_ACHIEVE): rsp.List = task.AchieveList } + + session.SendMsg(string(this.module.GetType()), TaskSubTypeList, rsp) return } diff --git a/modules/task/api_receive.go b/modules/task/api_receive.go index 0a7507a47..28acf1464 100644 --- a/modules/task/api_receive.go +++ b/modules/task/api_receive.go @@ -10,11 +10,16 @@ import ( //任务奖励领取 func (this *apiComp) ReceiveCheck(session comm.IUserSession, req *pb.TaskReceiveReq) (errdata *pb.ErrorData) { + var code pb.ErrorCode if req.Id == 0 { code = pb.ErrorCode_TaskIdEmpty } else if req.TaskTag == 0 { code = pb.ErrorCode_TaskTagEmpty } + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + } return } @@ -27,7 +32,10 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) userTask := this.module.modelTask.getUserTask(uid, req.Id) if userTask == nil { - code = pb.ErrorCode_TaskNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskNotFound, + Title: pb.ErrorCode_TaskNotFound.ToString(), + } return } @@ -52,12 +60,18 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) //判断是否完成 if taskData.Status == 0 { - code = pb.ErrorCode_TaskNoFinished + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskNoFinished, + Title: pb.ErrorCode_TaskNoFinished.ToString(), + } return } //判断任务是否领取 if taskData.Received == 1 { - code = pb.ErrorCode_TaskReceived + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_TaskReceived, + Title: pb.ErrorCode_TaskReceived.ToString(), + } return } @@ -65,9 +79,8 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) conf := this.module.configure.getTaskById(taskData.TaskId) if conf == nil { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: err.Error(), + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), } return } @@ -139,18 +152,14 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) this.module.Error("活跃度奖励", log.Field{Key: "uid", Value: uid}, log.Field{Key: "rewards", Value: rewards}, - log.Field{Key: "code", Value: code}, ) } go this.module.ModuleBuried.TriggerBuried(uid, comm.GetBuriedParam(comm.Rtype171, 1)) - err := session.SendMsg(string(this.module.GetType()), "activereceive", &pb.TaskActiveReceivePush{ + session.SendMsg(string(this.module.GetType()), "activereceive", &pb.TaskActiveReceivePush{ TaskTag: int32(comm.TASK_WEEKLY), Id: maxTaskId, }) - if err != nil { - code = pb.ErrorCode_SystemError - return - } + } } } @@ -172,7 +181,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) this.module.Error("发送奖励", log.Field{Key: "uid", Value: uid}, log.Field{Key: "rewards", Value: conf.Reword}, - log.Field{Key: "code", Value: code}, + log.Field{Key: "errdata", Value: errdata}, ) return } @@ -204,11 +213,7 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq) } resp.TaskId = taskData.TaskId - err := session.SendMsg(string(this.module.GetType()), TaskSubTypeReceive, resp) - if err != nil { - code = pb.ErrorCode_SystemError - return - } + session.SendMsg(string(this.module.GetType()), TaskSubTypeReceive, resp) return } diff --git a/modules/task/api_send.go b/modules/task/api_send.go index f2a8b7f28..3224a84f9 100644 --- a/modules/task/api_send.go +++ b/modules/task/api_send.go @@ -26,8 +26,6 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.TaskSendReq) (errda rsp := &pb.TaskSendResp{ IsSucc: true, } - if err := session.SendMsg(string(this.module.GetType()), TaskSubTypeSend, rsp); err != nil { - code = pb.ErrorCode_SystemError - } + session.SendMsg(string(this.module.GetType()), TaskSubTypeSend, rsp) return } diff --git a/modules/task/model_task.go b/modules/task/model_task.go index c84df9a48..c74fe80c8 100644 --- a/modules/task/model_task.go +++ b/modules/task/model_task.go @@ -488,7 +488,7 @@ func (this *ModelTask) doTaskHandle(event interface{}, next func(event interface update map[string]interface{} ) - if code := this.moduleTask.ModuleRtask.CheckCondi(tl.Uid, conf.TypeId); code == pb.ErrorCode_Success { + if code := this.moduleTask.ModuleRtask.CheckCondi(tl.Uid, conf.TypeId); code == nil { // update data if ret != nil && len(ret.Data) > 0 { progress = ret.Data[0] From 3d00711bd5a75536cc5c4edefcc683bd178efa54 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Tue, 6 Jun 2023 14:44:52 +0800 Subject: [PATCH 4/4] dispatch errordata --- modules/dispatch/api_autoreceive.go | 5 ++++- modules/dispatch/api_do.go | 31 +++++++++++++++++++++++++---- modules/dispatch/api_notice.go | 5 ++++- modules/dispatch/api_receive.go | 10 ++++++++-- modules/dispatch/api_refresh.go | 16 +++++++++++++-- modules/dispatch/api_week.go | 5 ++++- modules/dispatch/model_dispatch.go | 2 +- 7 files changed, 62 insertions(+), 12 deletions(-) diff --git a/modules/dispatch/api_autoreceive.go b/modules/dispatch/api_autoreceive.go index 6f43d7245..01f3fe301 100644 --- a/modules/dispatch/api_autoreceive.go +++ b/modules/dispatch/api_autoreceive.go @@ -14,7 +14,10 @@ func (a *apiComp) Autoreceive(session comm.IUserSession, req *pb.DispatchAutoRec rsp := &pb.DispatchAutoReceiveResp{} d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + } return } // var flag bool diff --git a/modules/dispatch/api_do.go b/modules/dispatch/api_do.go index a5a2b5fed..1f694f98f 100644 --- a/modules/dispatch/api_do.go +++ b/modules/dispatch/api_do.go @@ -38,7 +38,11 @@ func (this *apiComp) Do(session comm.IUserSession, req *pb.DispatchDoReq) (errda dConf, err := this.module.configure.getDispatchTaskConf(req.TaskId) if err != nil { - code = pb.ErrorCode_SystemError + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } return } @@ -53,20 +57,32 @@ func (this *apiComp) Do(session comm.IUserSession, req *pb.DispatchDoReq) (errda if len(req.HeroIds) < int(dConf.Taskneed) { this.module.Error("英雄派遣:", log.Field{Key: "HeroIds len", Value: len(req.HeroIds)}, log.Field{Key: "Taskneed", Value: dConf.Taskneed}) - code = pb.ErrorCode_DispatchHeroNoEnough + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DispatchHeroNoEnough, + Title: pb.ErrorCode_DispatchHeroNoEnough.ToString(), + Message: err.Error(), + } return } d := this.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil && d.Nb == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + Message: err.Error(), + } return } //校验门票 ticketAtn := this.module.ModuleTools.GetGlobalConf().DispatchNumtools if errdata = this.module.CheckRes(session, []*cfg.Gameatn{ticketAtn}); errdata != nil { - code = pb.ErrorCode_DispatchTicketNoEnough + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DispatchTicketNoEnough, + Title: pb.ErrorCode_DispatchTicketNoEnough.ToString(), + Message: err.Error(), + } return } @@ -74,6 +90,7 @@ func (this *apiComp) Do(session comm.IUserSession, req *pb.DispatchDoReq) (errda if err := this.module.modelDispatch.dispatch(session.GetUserId(), req.TaskId, req.HeroIds, d); err != nil { var errCustom = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &errCustom) { code = errCustom.Code } else { @@ -82,6 +99,12 @@ func (this *apiComp) Do(session comm.IUserSession, req *pb.DispatchDoReq) (errda Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } + return + } + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), } return } diff --git a/modules/dispatch/api_notice.go b/modules/dispatch/api_notice.go index 103a34405..a4cfccfea 100644 --- a/modules/dispatch/api_notice.go +++ b/modules/dispatch/api_notice.go @@ -17,7 +17,10 @@ func (a *apiComp) NoticeCheck(session comm.IUserSession, req *pb.DispatchNoticeR func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (errdata *pb.ErrorData) { d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + } return } uid := session.GetUserId() diff --git a/modules/dispatch/api_receive.go b/modules/dispatch/api_receive.go index fd04f0fb8..4999b7295 100644 --- a/modules/dispatch/api_receive.go +++ b/modules/dispatch/api_receive.go @@ -24,7 +24,10 @@ func (a *apiComp) Receive(session comm.IUserSession, req *pb.DispatchReceiveReq) } d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + } return } @@ -39,7 +42,10 @@ func (a *apiComp) Receive(session comm.IUserSession, req *pb.DispatchReceiveReq) } if !flag { - code = pb.ErrorCode_DispatchNoFinished + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DispatchNoFinished, + Title: pb.ErrorCode_DispatchNoFinished.ToString(), + } return } diff --git a/modules/dispatch/api_refresh.go b/modules/dispatch/api_refresh.go index 1f686d6b9..76cd6c367 100644 --- a/modules/dispatch/api_refresh.go +++ b/modules/dispatch/api_refresh.go @@ -17,7 +17,10 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + } return } @@ -26,8 +29,14 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) //更新刷新次数 if err := a.module.modelDispatch.updateFreeCount(session.GetUserId(), d.Nb); err != nil { var customer = new(comm.CustomError) + var code pb.ErrorCode if errors.As(err, &customer) { code = customer.Code + errdata = &pb.ErrorData{ + Code: code, + Title: code.ToString(), + Message: err.Error(), + } } else { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -40,7 +49,10 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) } else { refreshCount := a.module.ModuleTools.GetGlobalConf().DispatchRefreshtimes if d.Nb.RefreshCount >= refreshCount { - code = pb.ErrorCode_DispatchRefreshMax + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DispatchRefreshMax, + Title: pb.ErrorCode_DispatchRefreshMax.ToString(), + } return } //消耗金币 diff --git a/modules/dispatch/api_week.go b/modules/dispatch/api_week.go index 63c40476d..8cff098cb 100644 --- a/modules/dispatch/api_week.go +++ b/modules/dispatch/api_week.go @@ -23,7 +23,10 @@ func (a *apiComp) Weekrecive(session comm.IUserSession, req *pb.DispatchWeekReci d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) if d == nil { - code = pb.ErrorCode_DataNotFound + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DataNotFound, + Title: pb.ErrorCode_DataNotFound.ToString(), + } return } diff --git a/modules/dispatch/model_dispatch.go b/modules/dispatch/model_dispatch.go index e7b291ede..608e54148 100644 --- a/modules/dispatch/model_dispatch.go +++ b/modules/dispatch/model_dispatch.go @@ -253,7 +253,7 @@ func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string //获取英雄信息 hero, code := this.module.ModuleHero.GetHeroByObjID(uid, heroId) - if code == pb.ErrorCode_Success && hero != nil { + if code == nil && hero != nil { for _, v := range gd.Taskreq { switch v.Key { case 1: //校验英雄的基础条件