diff --git a/bin/json/game_pandamasjx.json b/bin/json/game_pandamasjx.json index c41e295e9..950fa2844 100644 --- a/bin/json/game_pandamasjx.json +++ b/bin/json/game_pandamasjx.json @@ -10,7 +10,10 @@ "heroid": "13002", "img": "sbkp_js_13002", "ico": "", - "intr": "食人鱼", + "intr": { + "key": "shirenyu", + "text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" + }, "description": { "key": "wuguanshirenyu", "text": "提升每分钟的经验值获取{0}%" @@ -33,7 +36,10 @@ "heroid": "13001", "img": "sbkp_js_13001", "ico": "", - "intr": "闪闪", + "intr": { + "key": "shanshan", + "text": "闪闪" + }, "description": { "key": "wuguanshanshan", "text": "提升每分钟的经验值获取{0}%" @@ -56,7 +62,10 @@ "heroid": "44002", "img": "sbkp_js_44002", "ico": "", - "intr": "蛇先生", + "intr": { + "key": "shexiansheng", + "text": "蛇先生" + }, "description": { "key": "wuguanshexiansheng", "text": "提升每分钟的经验值获取{0}%" @@ -79,7 +88,10 @@ "heroid": "24005", "img": "sbkp_js_24005", "ico": "", - "intr": "金猴", + "intr": { + "key": "jinhou", + "text": "金猴" + }, "description": { "key": "wuguanjinhou", "text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}" @@ -113,7 +125,10 @@ "heroid": "14005", "img": "sbkp_js_14005", "ico": "", - "intr": "鹤大师", + "intr": { + "key": "hedashi", + "text": "鹤大师" + }, "description": { "key": "wuguanhedashi", "text": "提升可挂机的时间{0}秒" @@ -136,7 +151,10 @@ "heroid": "44006", "img": "sbkp_js_44006", "ico": "", - "intr": "悍娇虎", + "intr": { + "key": "hanjiaohu", + "text": "悍娇虎" + }, "description": { "key": "wuguanhanjiaohu", "text": "提升可挂机的时间{0}秒" @@ -159,7 +177,10 @@ "heroid": "43001", "img": "sbkp_js_43001", "ico": "", - "intr": "盖", + "intr": { + "key": "gai", + "text": "盖" + }, "description": { "key": "wuguangai", "text": "提升可挂机的时间{0}秒" @@ -182,7 +203,10 @@ "heroid": "35002", "img": "sbkp_js_35002", "ico": "", - "intr": "希卡普", + "intr": { + "key": "xikapu", + "text": "希卡普" + }, "description": { "key": "wuguanxikapu", "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" @@ -205,7 +229,10 @@ "heroid": "45004", "img": "sbkp_js_45004", "ico": "", - "intr": "穿靴猫", + "intr": { + "key": "mao", + "text": "穿靴猫" + }, "description": { "key": "wuguanmao", "text": "提升低级觉醒材料的获取数量{0}" @@ -239,7 +266,10 @@ "heroid": "35001", "img": "sbkp_js_35001", "ico": "", - "intr": "师父", + "intr": { + "key": "shifu", + "text": "师父" + }, "description": { "key": "wuguanshifu", "text": "提升低级觉醒材料的获取数量{0}" @@ -273,7 +303,10 @@ "heroid": "25001", "img": "sbkp_js_25001", "ico": "", - "intr": "阿宝", + "intr": { + "key": "abao", + "text": "阿宝" + }, "description": { "key": "wuguanabao", "text": "{0}%概率获得1个3级升星精灵" @@ -307,7 +340,10 @@ "heroid": "45001", "img": "sbkp_js_45001", "ico": "", - "intr": "乌龟大师", + "intr": { + "key": "wuguidashi", + "text": "乌龟大师" + }, "description": { "key": "wuguanwuguidashi", "text": "{0}%概率获得1个3级升星精灵" @@ -341,7 +377,10 @@ "heroid": "", "img": "wg_icon_ss", "ico": "", - "intr": "石锁", + "intr": { + "key": "shisuo", + "text": "石锁,传闻是师父在训练阿宝时经常使用到的道具" + }, "description": { "key": "wuguanshisuo", "text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}" @@ -375,7 +414,10 @@ "heroid": "", "img": "wg_icon_kz", "ico": "", - "intr": "双头空竹", + "intr": { + "key": "kongzu", + "text": "双头空竹" + }, "description": { "key": "wuguankongzu", "text": "提升每分钟的经验值获取{0}%" @@ -398,7 +440,10 @@ "heroid": "", "img": "wg_icon_pj", "ico": "", - "intr": "木爬架", + "intr": { + "key": "mupajia", + "text": "木爬架" + }, "description": { "key": "wuguanmupajia", "text": "提升每分钟的经验值获取{0}%" @@ -421,7 +466,10 @@ "heroid": "", "img": "wg_icon_bdw", "ico": "", - "intr": "不倒翁", + "intr": { + "key": "budaoweng", + "text": "不倒翁" + }, "description": { "key": "wuguanbudaoweng", "text": "提升每分钟的经验值获取{0}%" @@ -444,7 +492,10 @@ "heroid": "", "img": "wg_icon_pc", "ico": "", - "intr": "棒槌", + "intr": { + "key": "bangchui", + "text": "棒槌" + }, "description": { "key": "wuguanbangchui", "text": "提升可挂机的时间{0}秒" @@ -467,7 +518,10 @@ "heroid": "", "img": "wg_icon_tl", "ico": "", - "intr": "铜铃", + "intr": { + "key": "tongling", + "text": "铜铃" + }, "description": { "key": "wuguantongling", "text": "提升可挂机的时间{0}秒" @@ -490,7 +544,10 @@ "heroid": "", "img": "wg_icon_tj", "ico": "", - "intr": "尖刺吊环", + "intr": { + "key": "diaohuan", + "text": "尖刺吊环" + }, "description": { "key": "wuguandiaohuan", "text": "提升可挂机的时间{0}秒" @@ -513,7 +570,10 @@ "heroid": "", "img": "wg_icon_tj01", "ico": "", - "intr": "陀螺", + "intr": { + "key": "tuoluo", + "text": "陀螺" + }, "description": { "key": "wuguantuoluo", "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" @@ -536,7 +596,10 @@ "heroid": "", "img": "wg_icon_zl", "ico": "", - "intr": "大转轮", + "intr": { + "key": "dazhuanlun", + "text": "大转轮" + }, "description": { "key": "wuguandazhuanlun", "text": "提升低级觉醒材料的获取数量{0}" @@ -570,7 +633,10 @@ "heroid": "", "img": "wg_icon_mp", "ico": "", - "intr": "木头牌", + "intr": { + "key": "mutoupai", + "text": "木头牌" + }, "description": { "key": "wuguanmutoupai", "text": "提升低级觉醒材料的获取数量{0}" @@ -604,7 +670,10 @@ "heroid": "", "img": "wg_icon_sjg", "ico": "", - "intr": "双节棍", + "intr": { + "key": "shuangjiegun", + "text": "双节棍" + }, "description": { "key": "wuguanshuangjiegun", "text": "{0}%概率获得1个3级升星精灵" @@ -638,7 +707,10 @@ "heroid": "", "img": "wg_icon_yd", "ico": "", - "intr": "练功带", + "intr": { + "key": "liangongdai", + "text": "练功带" + }, "description": { "key": "wuguanliangongdai", "text": "{0}%概率获得1个3级升星精灵" @@ -672,7 +744,10 @@ "heroid": "", "img": "wg_icon_tj", "ico": "", - "intr": "七彩花棍", + "intr": { + "key": "qicaihuagun", + "text": "七彩花棍" + }, "description": { "key": "wuguanqicaihuagun", "text": "{0}%概率获得1个3级升星精灵" @@ -706,7 +781,10 @@ "heroid": "", "img": "wg_icon_fb", "ico": "", - "intr": "流星飞镖", + "intr": { + "key": "liuxingfeibiao", + "text": "流星飞镖" + }, "description": { "key": "wuguanliuxingfeibiao", "text": "提升可挂机的时间{0}秒" @@ -729,7 +807,10 @@ "heroid": "", "img": "wg_icon_mxl", "ico": "", - "intr": "冥想锣", + "intr": { + "key": "mingxiangluo", + "text": "冥想锣" + }, "description": { "key": "wuguanmingxiangluo", "text": "提升可挂机的时间{0}秒" @@ -752,7 +833,10 @@ "heroid": "", "img": "wg_icon_ct", "ico": "", - "intr": "彩条龙", + "intr": { + "key": "caitiaolong", + "text": "彩条龙" + }, "description": { "key": "wuguancaitiaolong", "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" @@ -775,7 +859,10 @@ "heroid": "", "img": "wg_icon_kqms", "ico": "", - "intr": "孔雀毛扇", + "intr": { + "key": "kongquemaosan", + "text": "孔雀毛扇" + }, "description": { "key": "wuguankongquemaosan", "text": "提升低级觉醒材料的获取数量{0}" @@ -807,7 +894,10 @@ "heroid": "", "img": "wg_icon_ph", "ico": "", - "intr": "平衡木", + "intr": { + "key": "pinghengmu", + "text": "平衡木" + }, "description": { "key": "wuguanpinghengmu", "text": "提升低级觉醒材料的获取数量{0}" @@ -839,7 +929,10 @@ "heroid": "", "img": "wg_icon_th", "ico": "", - "intr": "铁环", + "intr": { + "key": "tiehuan", + "text": "铁环" + }, "description": { "key": "wuguantiehuan", "text": "{0}%概率获得1个3级升星精灵" @@ -871,7 +964,10 @@ "heroid": "", "img": "wg_icon_tj", "ico": "", - "intr": "太极球", + "intr": { + "key": "taijiqiu", + "text": "太极球" + }, "description": { "key": "wuguantaijiqiu", "text": "{0}%概率获得1个3级升星精灵,提升低级觉醒材料的获取数量{0}" diff --git a/comm/const.go b/comm/const.go index 4bf1f66c6..ca6adca4f 100644 --- a/comm/const.go +++ b/comm/const.go @@ -247,15 +247,16 @@ const ( // RPC服务接口定义处 const ( //Rpc //Gateway 网关消息 - Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由 - Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id - Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id - Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息 - Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息 - Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息 - Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接 - Rpc_GatewayNoticeUserLogin core.Rpc_Key = "Rpc_NoticeUserLogin" //通知用户登录 - Rpc_GatewayNoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线 + Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由 + Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id + Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id + Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息 + Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息 + Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息 + Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接 + Rpc_GatewayNoticeUserLogin core.Rpc_Key = "Rpc_NoticeUserLogin" //通知用户登录 + Rpc_GatewayNoticeUserCreate core.Rpc_Key = "Rpc_NoticeUserCreate" //通知用户创角 + Rpc_GatewayNoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线 //GM 命令 Rpc_ModuleGMCreateCmd core.Rpc_Key = "Rpc_ModuleGMCreateCmd" //执行GM命令 //Chat 命令 diff --git a/comm/imodule.go b/comm/imodule.go index f3ca79269..7aa497aaa 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -431,11 +431,11 @@ type ( } ISmithy interface { - CheckActivateAtlasCollect(uid string, id string) (code pb.ErrorCode) + CheckActivateAtlasCollect(uid string, id string) } IPandaAtlas interface { - CheckActivatePandaAtlasCollect(uid string, id string) (code pb.ErrorCode) + CheckActivatePandaAtlasCollect(uid string, id string) } //练功房 IPractice interface { diff --git a/modules/atlas/module.go b/modules/atlas/module.go index d2f528afb..f36b87f06 100644 --- a/modules/atlas/module.go +++ b/modules/atlas/module.go @@ -11,6 +11,9 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" ) type PandaAtlas struct { @@ -42,11 +45,55 @@ func (this *PandaAtlas) OnInstallComp() { this.modelPandaAtlas = this.RegisterComp(new(modelPandaAtlas)).(*modelPandaAtlas) } -func (this *PandaAtlas) CheckActivatePandaAtlasCollect(uid string, id string) (code pb.ErrorCode) { - list, _ := this.modelPandaAtlas.getPandaAtlasList(uid) - if _, ok := list.Collect[id]; !ok { - conf := this.configure.GetPandoAtlasConf(id) - if conf != nil { +func (this *PandaAtlas) CheckActivatePandaAtlasCollect(uid string, id string) { + conf := this.configure.GetPandoAtlasConf(id) + if conf != nil { + return + } + if this.IsCross() { + atlas := &pb.DBPandaAtlas{} + if model, err := this.GetDBModelByUid(uid, this.modelPandaAtlas.TableName, this.modelPandaAtlas.Expired); err == nil { + + if err := model.Get(uid, atlas); err != nil { // 防止数据没有初始化情况 + if mongo.ErrNoDocuments == err { + atlas.Id = primitive.NewObjectID().Hex() + atlas.Uid = uid + atlas.Collect = make(map[string]*pb.CollectInfo, 0) + atlas.Award = 1 // 初始1级 + + atlas.Collect[id] = &pb.CollectInfo{ + Score: conf.AtlasScore, + Time: configure.Now().Unix(), + Activate: false, + } + update := make(map[string]interface{}, 0) + update["collect"] = atlas.Collect + if err := model.Add(uid, update); err != nil { + this.Errorf("err:%v", err) + } + return + } else { + this.Errorf("err:%v", err) + return + } + } + if _, ok := atlas.Collect[id]; !ok { + atlas.Collect[id] = &pb.CollectInfo{ + Score: conf.AtlasScore, + Time: configure.Now().Unix(), + Activate: false, + } + update := make(map[string]interface{}, 0) + update["collect"] = atlas.Collect + if err := model.Change(uid, update); err != nil { + this.Errorf("err:%v", err) + return + } + } + } + } else { // 本服 + list, _ := this.modelPandaAtlas.getPandaAtlasList(uid) + if _, ok := list.Collect[id]; !ok { list.Collect[id] = &pb.CollectInfo{ Score: conf.AtlasScore, Time: configure.Now().Unix(), @@ -58,7 +105,6 @@ func (this *PandaAtlas) CheckActivatePandaAtlasCollect(uid string, id string) (c return } } - code = pb.ErrorCode_SmithyNoFoundAtlas return } diff --git a/modules/autoBattle/model_auto.go b/modules/autoBattle/model_auto.go index b7e329fb8..ffcc2fe01 100644 --- a/modules/autoBattle/model_auto.go +++ b/modules/autoBattle/model_auto.go @@ -56,7 +56,7 @@ func (this *modelAutoBattle) getAutoBattleList(uid string) (result []*pb.DBAutoB } // 玩家离线清除自动战斗数据 -func (this *modelAutoBattle) RemoveUserInfo(session comm.IUserSession) (err error) { - this.BatchDelLists(session.GetUserId()) +func (this *modelAutoBattle) RemoveUserInfo(uid string) (err error) { + this.BatchDelLists(uid) return err } diff --git a/modules/autoBattle/module.go b/modules/autoBattle/module.go index d995a3b89..adc4c1bd6 100644 --- a/modules/autoBattle/module.go +++ b/modules/autoBattle/module.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" ) @@ -54,7 +55,8 @@ func (this *AutoBattle) ModifyAutoData(uid string, id string, data map[string]in } //Event-------------------------------------------------------------------------------------------------玩家离线 -func (this *AutoBattle) EventUserOffline(session comm.IUserSession) { - err := this.modelAutoBattle.RemoveUserInfo(session) - this.Debugf("EventUserOffline:%s err:%v", session.ToString(), err) +func (this *AutoBattle) EventUserOffline(uid, sessionid string) { + if err := this.modelAutoBattle.RemoveUserInfo(uid); err != nil { + this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) + } } diff --git a/modules/chat/api_chanagechannel.go b/modules/chat/api_chanagechannel.go index 3b7f2620e..045d686b0 100644 --- a/modules/chat/api_chanagechannel.go +++ b/modules/chat/api_chanagechannel.go @@ -27,7 +27,7 @@ func (this *apiComp) ChanageChannel(session comm.IUserSession, req *pb.ChatChana return } if ok { - if err = this.module.modelChat.removeCrossChannelMember(session); err != nil { + if err = this.module.modelChat.removeCrossChannelMember(session.GetUserId()); err != nil { code = pb.ErrorCode_DBError return } diff --git a/modules/chat/modelChat.go b/modules/chat/modelChat.go index c2a1a61df..580021074 100644 --- a/modules/chat/modelChat.go +++ b/modules/chat/modelChat.go @@ -206,17 +206,17 @@ func (this *modelChatComp) getCrossChannelMember(channel int32) (result []*pb.Ca } //移除频道成员 -func (this *modelChatComp) removeCrossChannelMember(session comm.IUserSession) (err error) { +func (this *modelChatComp) removeCrossChannelMember(uid string) (err error) { var ( result *pb.DBUserExpand ) - if result, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil { + if result, err = this.module.ModuleUser.GetUserExpand(uid); err != nil { this.module.Errorf("err:%v", err) return } key := fmt.Sprintf("%s-%d-member", crosschatkey, result.Chatchannel) - if err = this.Redis.HDel(key, session.GetUserId()); err != nil { + if err = this.Redis.HDel(key, uid); err != nil { this.module.Errorf("err:%v", err) return } diff --git a/modules/chat/module.go b/modules/chat/module.go index c2f302354..303ef3c7f 100644 --- a/modules/chat/module.go +++ b/modules/chat/module.go @@ -80,12 +80,9 @@ func (this *Chat) OnInstallComp() { } //Event------------------------------------------------------------------------------------------------------------ -func (this *Chat) EventUserOffline(session comm.IUserSession) { - if err := this.modelChat.removeCrossChannelMember(session); err != nil { - this.Debug("EventUserOffline:", - log.Field{Key: "uid", Value: session.GetUserId()}, - log.Field{Key: "err", Value: err.Error()}, - ) +func (this *Chat) EventUserOffline(uid, sessionid string) { + if err := this.modelChat.removeCrossChannelMember(uid); err != nil { + this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) } } diff --git a/modules/combat/module.go b/modules/combat/module.go index 3a3a98ccc..aea152e77 100644 --- a/modules/combat/module.go +++ b/modules/combat/module.go @@ -59,6 +59,6 @@ func (this *Combat) OnInstallComp() { } //Event------------------------------------------------------------------------------------------------------------ -func (this *Combat) EventUserOffline(session comm.IUserSession) { - this.modelCombat.delInfo(session.GetUserId()) +func (this *Combat) EventUserOffline(uid, sessionid string) { + this.modelCombat.delInfo(uid) } diff --git a/modules/equipment/module.go b/modules/equipment/module.go index e550f354d..0bbed1fd2 100644 --- a/modules/equipment/module.go +++ b/modules/equipment/module.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" @@ -67,9 +68,11 @@ func (this *Equipment) OnInstallComp() { } //Event------------------------------------------------------------------------------------------------------------ -func (this *Equipment) EventUserOffline(session comm.IUserSession) { - err := this.modelEquipment.BatchDelLists(session.GetUserId()) - this.Debugf("EventUserOffline:%s err:%v", session, err) +func (this *Equipment) EventUserOffline(uid, sessionid string) { + if err := this.modelEquipment.BatchDelLists(uid); err != nil { + this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) + } + } //IEquipment------------------------------------------------------------------------------------------------------------------------------- diff --git a/modules/gourmet/comp_configure.go b/modules/gourmet/comp_configure.go index 9e8f86d1d..f982649a2 100644 --- a/modules/gourmet/comp_configure.go +++ b/modules/gourmet/comp_configure.go @@ -45,7 +45,9 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp log.Errorf("get game_pagoda conf err:%v", err) return }) - this.SetGrormetCookBookConf() + + configure.RegisterConfigure(game_food, cfg.NewGameBreakingbad, this.SetGrormetCookBookConf) + return } diff --git a/modules/hero/api_strengthenUpSkill.go b/modules/hero/api_strengthenUpSkill.go index 721078bf3..4c839a13a 100644 --- a/modules/hero/api_strengthenUpSkill.go +++ b/modules/hero/api_strengthenUpSkill.go @@ -136,7 +136,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt szTask = append(szTask, comm.GettaskParam(comm.Rtype57, 1)) } if cfg := this.module.configure.GetHeroConfig(_hero.HeroID); cfg != nil { - szTask = append(szTask, comm.GettaskParam(comm.Rtype55, cfg.Color, 1)) + szTask = append(szTask, comm.GettaskParam(comm.Rtype55, 1, cfg.Color)) szTask = append(szTask, comm.GettaskParam(comm.Rtype56, 1, 1, cfg.Job)) } go this.module.ModuleRtask.TriggerTask(session.GetUserId(), szTask...) diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 83082d5cd..7126ad553 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -603,9 +603,9 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex } // 玩家离线 清除缓存 -func (this *ModelHero) RemoveUserHeroInfo(session comm.IUserSession) (err error) { +func (this *ModelHero) RemoveUserHeroInfo(uid string) (err error) { //star := configure.Now() - this.BatchDelLists(session.GetUserId()) + this.BatchDelLists(uid) //this.moduleHero.Debugf("=====%d,", time.Since(star).Milliseconds()) return } diff --git a/modules/hero/module.go b/modules/hero/module.go index e4c3996f2..196c242ee 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -258,9 +258,8 @@ func (this *Hero) GetSpecifiedHero(session comm.IUserSession, heroConfId string, } //Event-------------------------------------------------------------------------------------------------玩家离线 -func (this *Hero) EventUserOffline(session comm.IUserSession) { - err := this.modelHero.RemoveUserHeroInfo(session) - this.Debugf("EventUserOffline:%s err:%v", session.ToString(), err) +func (this *Hero) EventUserOffline(uid, sessionid string) { + this.modelHero.RemoveUserHeroInfo(uid) } // 批量创建多个英雄 diff --git a/modules/hunting/api_challengeover.go b/modules/hunting/api_challengeover.go index 3ca137135..362696479 100644 --- a/modules/hunting/api_challengeover.go +++ b/modules/hunting/api_challengeover.go @@ -108,12 +108,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha } } session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting}) - + tasks = append(tasks, comm.GettaskParam(comm.Rtype80, 1, req.Difficulty, req.BossType)) // 随机任务统计 // this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType) tasks = append(tasks, comm.GettaskParam(comm.Rtype81, req.Difficulty, req.BossType)) - tasks = append(tasks, comm.GettaskParam(comm.Rtype82, req.BossType)) + tasks = append(tasks, comm.GettaskParam(comm.Rtype82, 1, req.BossType)) // 狩猎副本掉落觉醒材料 for _, v := range reward { if _conf, err := this.module.configure.GetItemConfigureData(v.T); err == nil { diff --git a/modules/items/module.go b/modules/items/module.go index 153f89c63..29bb9ebdd 100644 --- a/modules/items/module.go +++ b/modules/items/module.go @@ -8,6 +8,7 @@ import ( "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" + "go_dreamfactory/lego/sys/log" ) /* @@ -62,9 +63,10 @@ func (this *Items) OnInstallComp() { } //Event------------------------------------------------------------------------------------------------------------ -func (this *Items) EventUserOffline(session comm.IUserSession) { - err := this.modelItems.BatchDelLists(session.GetUserId()) - this.Debugf("EventUserOffline:%s err:%v", session, err) +func (this *Items) EventUserOffline(uid, sessionid string) { + if err := this.modelItems.BatchDelLists(uid); err != nil { + this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) + } } //IItems------------------------------------------------------------------------------------------------------------------------------- diff --git a/modules/modulebase.go b/modules/modulebase.go index 0d6d36f00..45f1e3441 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -450,7 +450,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat } if len(atlas) > 0 { for k := range atlas { - code = this.ModuleSmithy.CheckActivateAtlasCollect(session.GetUserId(), k) + this.ModuleSmithy.CheckActivateAtlasCollect(session.GetUserId(), k) this.Debugf("发放图鉴资源: %v [%v]", k, code) } } diff --git a/modules/practice/modelPandata.go b/modules/practice/modelPandata.go index 985144a95..62267d837 100644 --- a/modules/practice/modelPandata.go +++ b/modules/practice/modelPandata.go @@ -59,6 +59,7 @@ func (this *modelPandata) queryUserMartialhall(uid string) (result *pb.DBPractic this.module.Errorln(err) return } + this.module.atlas.CheckActivatePandaAtlasCollect(uid, "1002") } err = nil return diff --git a/modules/practice/module.go b/modules/practice/module.go index a591033b6..8b765c1df 100644 --- a/modules/practice/module.go +++ b/modules/practice/module.go @@ -142,6 +142,7 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32 this.Errorln(err) return } + this.atlas.CheckActivatePandaAtlasCollect(session.GetUserId(), "1002") } else { id = make([]string, 0) for k, _ := range items { diff --git a/modules/privilege/module.go b/modules/privilege/module.go index c6e2a5225..fd6e59fda 100644 --- a/modules/privilege/module.go +++ b/modules/privilege/module.go @@ -62,7 +62,7 @@ func (this *Privilege) Start() (err error) { } //Event------------------------------------------------------------------------------------------------------------ -func (this *Privilege) EventUserOffline(session comm.IUserSession) { +func (this *Privilege) EventUserOffline(uid, sessionid string) { //this.modelPrivilege.DelByUId(session.GetUserId(), db.SetDBMgoLog(false)) } diff --git a/modules/pvp/module.go b/modules/pvp/module.go index 55b91799e..ac6119bc0 100644 --- a/modules/pvp/module.go +++ b/modules/pvp/module.go @@ -370,7 +370,7 @@ func (this *Pvp) userlogin(session comm.IUserSession) { } //用户离线处理 -func (this *Pvp) useroffline(session comm.IUserSession) { +func (this *Pvp) useroffline(uid, sessionid string) { var ( side int32 data []byte @@ -378,8 +378,8 @@ func (this *Pvp) useroffline(session comm.IUserSession) { ) this.lock.RLock() for _, v := range this.battles { - if v.Red.Uid == session.GetUserId() || v.Blue.Uid == session.GetUserId() { - if session.GetUserId() == v.Red.Uid { + if v.Red.Uid == uid || v.Blue.Uid == uid { + if uid == v.Red.Uid { side = 1 v.RedOffline = true } else { diff --git a/modules/smithy/model_atlas.go b/modules/smithy/model_atlas.go index 02977d7d8..c53aab760 100644 --- a/modules/smithy/model_atlas.go +++ b/modules/smithy/model_atlas.go @@ -121,25 +121,3 @@ func (this *modelAtlas) CheckActivateAtlas(uid string, id string, lv int32, qual } return true } - -// 检查是否激活收藏品 -func (this *modelAtlas) CheckActivateAtlasCollect(uid string, id string) { - atlasConf := this.module.configure.GetSmithyAtlasConf(id) - if atlasConf != nil && atlasConf.TypeId == 2 { - if list, err := this.module.modelAtlas.getSmithyAtlasList(uid); err == nil { - - if _, ok := list.Collect[id]; !ok { - list.Collect[id] = &pb.CollectData{ - Id: id, - Score: atlasConf.AtlasScore, - Time: configure.Now().Unix(), - } - list.Score += atlasConf.AtlasScore - update := make(map[string]interface{}, 0) - update["collect"] = list.Collect - update["score"] = list.Score - this.module.modelAtlas.modifySmithyAtlasList(uid, update) // 更新分数信息 - } - } - } -} diff --git a/modules/smithy/module.go b/modules/smithy/module.go index 51d1fc290..e556e1fc1 100644 --- a/modules/smithy/module.go +++ b/modules/smithy/module.go @@ -11,6 +11,9 @@ import ( "go_dreamfactory/modules" "go_dreamfactory/pb" "go_dreamfactory/sys/configure" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" ) type Smithy struct { @@ -47,9 +50,58 @@ func (this *Smithy) OnInstallComp() { this.modelTask = this.RegisterComp(new(modelTask)).(*modelTask) } -func (this *Smithy) CheckActivateAtlasCollect(uid string, id string) (code pb.ErrorCode) { +func (this *Smithy) CheckActivateAtlasCollect(uid string, id string) { atlasConf := this.configure.GetSmithyAtlasConf(id) - if atlasConf != nil && atlasConf.TypeId == 2 { //类型为2表示特殊类型图鉴 + if atlasConf == nil || atlasConf.TypeId != 2 { + return + } + + if this.IsCross() { + atlas := &pb.DBAtlas{} + if model, err := this.GetDBModelByUid(uid, this.modelAtlas.TableName, this.modelAtlas.Expired); err == nil { + + if err := model.Get(uid, atlas); err != nil { // 防止数据没有初始化情况 + if mongo.ErrNoDocuments == err { + atlas.Id = primitive.NewObjectID().Hex() + atlas.Uid = uid + atlas.Atlas = make(map[string]*pb.ForgeList, 0) + atlas.Collect = make(map[string]*pb.CollectData, 0) + atlas.Award = 1 // 初始1级 + + atlas.Collect[id] = &pb.CollectData{ + Id: id, + Score: atlasConf.AtlasScore, + Time: configure.Now().Unix(), + Activate: false, + } + update := make(map[string]interface{}, 0) + update["collect"] = atlas.Collect + if err := model.Add(uid, update); err != nil { + this.Errorf("err:%v", err) + } + return + } else { + this.Errorf("err:%v", err) + return + } + } + if _, ok := atlas.Collect[id]; !ok { + atlas.Collect[id] = &pb.CollectData{ + Id: id, + Score: atlasConf.AtlasScore, + Time: configure.Now().Unix(), + Activate: false, + } + update := make(map[string]interface{}, 0) + update["collect"] = atlas.Collect + if err := model.Change(uid, update); err != nil { + this.Errorf("err:%v", err) + return + } + } + } + } else { + if list, err := this.modelAtlas.getSmithyAtlasList(uid); err == nil { if _, ok := list.Collect[id]; !ok { list.Collect[id] = &pb.CollectData{ @@ -58,16 +110,13 @@ func (this *Smithy) CheckActivateAtlasCollect(uid string, id string) (code pb.Er Time: configure.Now().Unix(), Activate: false, } - //list.Score += atlasConf.AtlasScore update := make(map[string]interface{}, 0) update["collect"] = list.Collect - //update["score"] = list.Score this.modelAtlas.modifySmithyAtlasList(uid, update) // 更新信息 return } } } - code = pb.ErrorCode_SmithyNoFoundAtlas return } diff --git a/modules/task/module.go b/modules/task/module.go index 64a7ad0ea..3439ca9bd 100644 --- a/modules/task/module.go +++ b/modules/task/module.go @@ -79,9 +79,9 @@ func (this *ModuleTask) InitTaskByTag(uid string, taskTag comm.TaskTag) { } // 清除缓存 -func (this *ModuleTask) CleanTask(session comm.IUserSession) { - this.modelTask.BatchDelLists(session.GetUserId()) - this.modelTaskActive.BatchDelLists(session.GetUserId()) +func (this *ModuleTask) CleanTask(uid, sessionid string) { + this.modelTask.BatchDelLists(uid) + this.modelTaskActive.BatchDelLists(uid) } // 重置玩家活跃度 diff --git a/modules/user/api_create.go b/modules/user/api_create.go index b7660c575..2a43592e1 100644 --- a/modules/user/api_create.go +++ b/modules/user/api_create.go @@ -123,10 +123,9 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c } if req.Figure != 0 { - this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72,1)) + this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72, 1)) } this.mail.SendMailByCid(session, comm.Welcomemail, nil) - return } diff --git a/modules/user/module.go b/modules/user/module.go index 7dd653b1b..3135b1a6a 100644 --- a/modules/user/module.go +++ b/modules/user/module.go @@ -159,22 +159,22 @@ func (this *User) ResetSession() { } // 清除session -func (this *User) CleanSession(session comm.IUserSession) { - this.stopTicker(session.GetUserId()) +func (this *User) CleanSession(uid, sessionid string) { + this.stopTicker(uid) if !this.IsCross() { - this.modelUser.updateOfflineTime(session.GetUserId()) + this.modelUser.updateOfflineTime(uid) } // sId := fmt.Sprintf("%s-%s", comm.RDS_EMPTY, session.GetUserId()) // this.modelSession.Del(sId, db.SetDBMgoLog(false)) // this.modelSession.DelListlds(comm.RDS_EMPTY, session.GetUserId()) //确保删除的会话是目标会话 不是就不要删除了 - if user := this.modelSession.getUserSession(session.GetUserId()); user != nil && user.SessionId == session.GetSessionId() { - this.modelSession.Del(session.GetUserId(), db.SetDBMgoLog(false)) - this.modelSession.DelListlds(comm.RDS_EMPTY, []string{session.GetUserId()}, db.SetDBMgoLog(false)) + if user := this.modelSession.getUserSession(uid); user != nil && user.SessionId == sessionid { + this.modelSession.Del(uid, db.SetDBMgoLog(false)) + this.modelSession.DelListlds(comm.RDS_EMPTY, []string{uid}, db.SetDBMgoLog(false)) } - this.modelUser.DelByUId(session.GetUserId(), db.SetDBMgoLog(false)) - this.modelExpand.DelByUId(session.GetUserId(), db.SetDBMgoLog(false)) - this.modelSetting.DelByUId(session.GetUserId(), db.SetDBMgoLog(false)) + this.modelUser.DelByUId(uid, db.SetDBMgoLog(false)) + this.modelExpand.DelByUId(uid, db.SetDBMgoLog(false)) + this.modelSetting.DelByUId(uid, db.SetDBMgoLog(false)) } // 在线玩家列表 diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index ad495c633..4f51d57c0 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -153,7 +153,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal } // 随机任务统计 var szTask []*comm.TaskParam - szTask = append(szTask, comm.GettaskParam(comm.Rtype73, req.Difficulty, req.BossId, 1)) + szTask = append(szTask, comm.GettaskParam(comm.Rtype73, 1, req.Difficulty, req.BossId)) szTask = append(szTask, comm.GettaskParam(comm.Rtype74, req.Difficulty, req.BossId)) szTask = append(szTask, comm.GettaskParam(comm.Rtype78, req.Difficulty, req.BossId, req.Report.Costtime)) diff --git a/pb/comm.pb.go b/pb/comm.pb.go index bd439f32f..26f5a0e1a 100644 --- a/pb/comm.pb.go +++ b/pb/comm.pb.go @@ -766,6 +766,86 @@ func (x *NoticeUserLoginReq) GetGatewayServiceId() string { return "" } +//通知用户登录 +type NoticeUserCreateReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ip string `protobuf:"bytes,1,opt,name=Ip,proto3" json:"Ip"` + UserSessionId string `protobuf:"bytes,2,opt,name=UserSessionId,proto3" json:"UserSessionId"` + UserId string `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId"` + ServiceTag string `protobuf:"bytes,4,opt,name=ServiceTag,proto3" json:"ServiceTag"` + GatewayServiceId string `protobuf:"bytes,5,opt,name=GatewayServiceId,proto3" json:"GatewayServiceId"` +} + +func (x *NoticeUserCreateReq) Reset() { + *x = NoticeUserCreateReq{} + if protoimpl.UnsafeEnabled { + mi := &file_comm_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NoticeUserCreateReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NoticeUserCreateReq) ProtoMessage() {} + +func (x *NoticeUserCreateReq) ProtoReflect() protoreflect.Message { + mi := &file_comm_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NoticeUserCreateReq.ProtoReflect.Descriptor instead. +func (*NoticeUserCreateReq) Descriptor() ([]byte, []int) { + return file_comm_proto_rawDescGZIP(), []int{10} +} + +func (x *NoticeUserCreateReq) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *NoticeUserCreateReq) GetUserSessionId() string { + if x != nil { + return x.UserSessionId + } + return "" +} + +func (x *NoticeUserCreateReq) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *NoticeUserCreateReq) GetServiceTag() string { + if x != nil { + return x.ServiceTag + } + return "" +} + +func (x *NoticeUserCreateReq) GetGatewayServiceId() string { + if x != nil { + return x.GatewayServiceId + } + return "" +} + //通知用户离线 type NoticeUserCloseReq struct { state protoimpl.MessageState @@ -782,7 +862,7 @@ type NoticeUserCloseReq struct { func (x *NoticeUserCloseReq) Reset() { *x = NoticeUserCloseReq{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[10] + mi := &file_comm_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -795,7 +875,7 @@ func (x *NoticeUserCloseReq) String() string { func (*NoticeUserCloseReq) ProtoMessage() {} func (x *NoticeUserCloseReq) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[10] + mi := &file_comm_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -808,7 +888,7 @@ func (x *NoticeUserCloseReq) ProtoReflect() protoreflect.Message { // Deprecated: Use NoticeUserCloseReq.ProtoReflect.Descriptor instead. func (*NoticeUserCloseReq) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{10} + return file_comm_proto_rawDescGZIP(), []int{11} } func (x *NoticeUserCloseReq) GetIp() string { @@ -858,7 +938,7 @@ type SkillData struct { func (x *SkillData) Reset() { *x = SkillData{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[11] + mi := &file_comm_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +951,7 @@ func (x *SkillData) String() string { func (*SkillData) ProtoMessage() {} func (x *SkillData) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[11] + mi := &file_comm_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +964,7 @@ func (x *SkillData) ProtoReflect() protoreflect.Message { // Deprecated: Use SkillData.ProtoReflect.Descriptor instead. func (*SkillData) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{11} + return file_comm_proto_rawDescGZIP(), []int{12} } func (x *SkillData) GetSkillID() int32 { @@ -915,7 +995,7 @@ type UserAssets struct { func (x *UserAssets) Reset() { *x = UserAssets{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[12] + mi := &file_comm_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -928,7 +1008,7 @@ func (x *UserAssets) String() string { func (*UserAssets) ProtoMessage() {} func (x *UserAssets) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[12] + mi := &file_comm_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -941,7 +1021,7 @@ func (x *UserAssets) ProtoReflect() protoreflect.Message { // Deprecated: Use UserAssets.ProtoReflect.Descriptor instead. func (*UserAssets) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{12} + return file_comm_proto_rawDescGZIP(), []int{13} } func (x *UserAssets) GetA() string { @@ -980,7 +1060,7 @@ type UserAtno struct { func (x *UserAtno) Reset() { *x = UserAtno{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[13] + mi := &file_comm_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -993,7 +1073,7 @@ func (x *UserAtno) String() string { func (*UserAtno) ProtoMessage() {} func (x *UserAtno) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[13] + mi := &file_comm_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1006,7 +1086,7 @@ func (x *UserAtno) ProtoReflect() protoreflect.Message { // Deprecated: Use UserAtno.ProtoReflect.Descriptor instead. func (*UserAtno) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{13} + return file_comm_proto_rawDescGZIP(), []int{14} } func (x *UserAtno) GetA() string { @@ -1049,7 +1129,7 @@ type TaskParam struct { func (x *TaskParam) Reset() { *x = TaskParam{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[14] + mi := &file_comm_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1062,7 +1142,7 @@ func (x *TaskParam) String() string { func (*TaskParam) ProtoMessage() {} func (x *TaskParam) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[14] + mi := &file_comm_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1075,7 +1155,7 @@ func (x *TaskParam) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskParam.ProtoReflect.Descriptor instead. func (*TaskParam) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{14} + return file_comm_proto_rawDescGZIP(), []int{15} } func (x *TaskParam) GetFirst() int32 { @@ -1105,7 +1185,7 @@ type RtaskParam struct { func (x *RtaskParam) Reset() { *x = RtaskParam{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[15] + mi := &file_comm_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1118,7 +1198,7 @@ func (x *RtaskParam) String() string { func (*RtaskParam) ProtoMessage() {} func (x *RtaskParam) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[15] + mi := &file_comm_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1131,7 +1211,7 @@ func (x *RtaskParam) ProtoReflect() protoreflect.Message { // Deprecated: Use RtaskParam.ProtoReflect.Descriptor instead. func (*RtaskParam) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{15} + return file_comm_proto_rawDescGZIP(), []int{16} } func (x *RtaskParam) GetParam1() int32 { @@ -1166,7 +1246,7 @@ type UIdReq struct { func (x *UIdReq) Reset() { *x = UIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[16] + mi := &file_comm_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1179,7 +1259,7 @@ func (x *UIdReq) String() string { func (*UIdReq) ProtoMessage() {} func (x *UIdReq) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[16] + mi := &file_comm_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1192,7 +1272,7 @@ func (x *UIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UIdReq.ProtoReflect.Descriptor instead. func (*UIdReq) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{16} + return file_comm_proto_rawDescGZIP(), []int{17} } func (x *UIdReq) GetUid() string { @@ -1213,7 +1293,7 @@ type NameReq struct { func (x *NameReq) Reset() { *x = NameReq{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[17] + mi := &file_comm_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1226,7 +1306,7 @@ func (x *NameReq) String() string { func (*NameReq) ProtoMessage() {} func (x *NameReq) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[17] + mi := &file_comm_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1239,7 +1319,7 @@ func (x *NameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use NameReq.ProtoReflect.Descriptor instead. func (*NameReq) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{17} + return file_comm_proto_rawDescGZIP(), []int{18} } func (x *NameReq) GetName() string { @@ -1258,7 +1338,7 @@ type EmptyReq struct { func (x *EmptyReq) Reset() { *x = EmptyReq{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[18] + mi := &file_comm_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1271,7 +1351,7 @@ func (x *EmptyReq) String() string { func (*EmptyReq) ProtoMessage() {} func (x *EmptyReq) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[18] + mi := &file_comm_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1284,7 +1364,7 @@ func (x *EmptyReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EmptyReq.ProtoReflect.Descriptor instead. func (*EmptyReq) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{18} + return file_comm_proto_rawDescGZIP(), []int{19} } type EmptyResp struct { @@ -1296,7 +1376,7 @@ type EmptyResp struct { func (x *EmptyResp) Reset() { *x = EmptyResp{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[19] + mi := &file_comm_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1309,7 +1389,7 @@ func (x *EmptyResp) String() string { func (*EmptyResp) ProtoMessage() {} func (x *EmptyResp) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[19] + mi := &file_comm_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1322,7 +1402,7 @@ func (x *EmptyResp) ProtoReflect() protoreflect.Message { // Deprecated: Use EmptyResp.ProtoReflect.Descriptor instead. func (*EmptyResp) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{19} + return file_comm_proto_rawDescGZIP(), []int{20} } // rpc 通用请求消息 1 @@ -1337,7 +1417,7 @@ type RPCGeneralReqA1 struct { func (x *RPCGeneralReqA1) Reset() { *x = RPCGeneralReqA1{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[20] + mi := &file_comm_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1430,7 @@ func (x *RPCGeneralReqA1) String() string { func (*RPCGeneralReqA1) ProtoMessage() {} func (x *RPCGeneralReqA1) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[20] + mi := &file_comm_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1363,7 +1443,7 @@ func (x *RPCGeneralReqA1) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCGeneralReqA1.ProtoReflect.Descriptor instead. func (*RPCGeneralReqA1) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{20} + return file_comm_proto_rawDescGZIP(), []int{21} } func (x *RPCGeneralReqA1) GetParam1() string { @@ -1386,7 +1466,7 @@ type RPCGeneralReqA2 struct { func (x *RPCGeneralReqA2) Reset() { *x = RPCGeneralReqA2{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[21] + mi := &file_comm_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1399,7 +1479,7 @@ func (x *RPCGeneralReqA2) String() string { func (*RPCGeneralReqA2) ProtoMessage() {} func (x *RPCGeneralReqA2) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[21] + mi := &file_comm_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1412,7 +1492,7 @@ func (x *RPCGeneralReqA2) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCGeneralReqA2.ProtoReflect.Descriptor instead. func (*RPCGeneralReqA2) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{21} + return file_comm_proto_rawDescGZIP(), []int{22} } func (x *RPCGeneralReqA2) GetParam1() string { @@ -1443,7 +1523,7 @@ type RPCGeneralReqA3 struct { func (x *RPCGeneralReqA3) Reset() { *x = RPCGeneralReqA3{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[22] + mi := &file_comm_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1456,7 +1536,7 @@ func (x *RPCGeneralReqA3) String() string { func (*RPCGeneralReqA3) ProtoMessage() {} func (x *RPCGeneralReqA3) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[22] + mi := &file_comm_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1469,7 +1549,7 @@ func (x *RPCGeneralReqA3) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCGeneralReqA3.ProtoReflect.Descriptor instead. func (*RPCGeneralReqA3) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{22} + return file_comm_proto_rawDescGZIP(), []int{23} } func (x *RPCGeneralReqA3) GetParam1() string { @@ -1508,7 +1588,7 @@ type RPCGeneralReqA4 struct { func (x *RPCGeneralReqA4) Reset() { *x = RPCGeneralReqA4{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[23] + mi := &file_comm_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1521,7 +1601,7 @@ func (x *RPCGeneralReqA4) String() string { func (*RPCGeneralReqA4) ProtoMessage() {} func (x *RPCGeneralReqA4) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[23] + mi := &file_comm_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1534,7 +1614,7 @@ func (x *RPCGeneralReqA4) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCGeneralReqA4.ProtoReflect.Descriptor instead. func (*RPCGeneralReqA4) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{23} + return file_comm_proto_rawDescGZIP(), []int{24} } func (x *RPCGeneralReqA4) GetParam1() string { @@ -1579,7 +1659,7 @@ type RPCRTaskReq struct { func (x *RPCRTaskReq) Reset() { *x = RPCRTaskReq{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[24] + mi := &file_comm_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1592,7 +1672,7 @@ func (x *RPCRTaskReq) String() string { func (*RPCRTaskReq) ProtoMessage() {} func (x *RPCRTaskReq) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[24] + mi := &file_comm_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1605,7 +1685,7 @@ func (x *RPCRTaskReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RPCRTaskReq.ProtoReflect.Descriptor instead. func (*RPCRTaskReq) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{24} + return file_comm_proto_rawDescGZIP(), []int{25} } func (x *RPCRTaskReq) GetUid() string { @@ -1653,7 +1733,7 @@ type ServiceDBInfo struct { func (x *ServiceDBInfo) Reset() { *x = ServiceDBInfo{} if protoimpl.UnsafeEnabled { - mi := &file_comm_proto_msgTypes[25] + mi := &file_comm_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1666,7 +1746,7 @@ func (x *ServiceDBInfo) String() string { func (*ServiceDBInfo) ProtoMessage() {} func (x *ServiceDBInfo) ProtoReflect() protoreflect.Message { - mi := &file_comm_proto_msgTypes[25] + mi := &file_comm_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1679,7 +1759,7 @@ func (x *ServiceDBInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceDBInfo.ProtoReflect.Descriptor instead. func (*ServiceDBInfo) Descriptor() ([]byte, []int) { - return file_comm_proto_rawDescGZIP(), []int{25} + return file_comm_proto_rawDescGZIP(), []int{26} } func (x *ServiceDBInfo) GetServerid() string { @@ -1865,101 +1945,112 @@ var file_comm_proto_rawDesc = []byte{ 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, 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, + 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, + 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, 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, + 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 ( @@ -1975,7 +2066,7 @@ func file_comm_proto_rawDescGZIP() []byte { } var file_comm_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_comm_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_comm_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_comm_proto_goTypes = []interface{}{ (HeroAttributesType)(0), // 0: HeroAttributesType (*UserMessage)(nil), // 1: UserMessage @@ -1988,34 +2079,35 @@ var file_comm_proto_goTypes = []interface{}{ (*BroadCastMessageReq)(nil), // 8: BroadCastMessageReq (*AgentCloseeReq)(nil), // 9: AgentCloseeReq (*NoticeUserLoginReq)(nil), // 10: NoticeUserLoginReq - (*NoticeUserCloseReq)(nil), // 11: NoticeUserCloseReq - (*SkillData)(nil), // 12: SkillData - (*UserAssets)(nil), // 13: UserAssets - (*UserAtno)(nil), // 14: UserAtno - (*TaskParam)(nil), // 15: TaskParam - (*RtaskParam)(nil), // 16: RtaskParam - (*UIdReq)(nil), // 17: UIdReq - (*NameReq)(nil), // 18: NameReq - (*EmptyReq)(nil), // 19: EmptyReq - (*EmptyResp)(nil), // 20: EmptyResp - (*RPCGeneralReqA1)(nil), // 21: RPCGeneralReqA1 - (*RPCGeneralReqA2)(nil), // 22: RPCGeneralReqA2 - (*RPCGeneralReqA3)(nil), // 23: RPCGeneralReqA3 - (*RPCGeneralReqA4)(nil), // 24: RPCGeneralReqA4 - (*RPCRTaskReq)(nil), // 25: RPCRTaskReq - (*ServiceDBInfo)(nil), // 26: ServiceDBInfo - (*anypb.Any)(nil), // 27: google.protobuf.Any - (ErrorCode)(0), // 28: ErrorCode + (*NoticeUserCreateReq)(nil), // 11: NoticeUserCreateReq + (*NoticeUserCloseReq)(nil), // 12: NoticeUserCloseReq + (*SkillData)(nil), // 13: SkillData + (*UserAssets)(nil), // 14: UserAssets + (*UserAtno)(nil), // 15: UserAtno + (*TaskParam)(nil), // 16: TaskParam + (*RtaskParam)(nil), // 17: RtaskParam + (*UIdReq)(nil), // 18: UIdReq + (*NameReq)(nil), // 19: NameReq + (*EmptyReq)(nil), // 20: EmptyReq + (*EmptyResp)(nil), // 21: EmptyResp + (*RPCGeneralReqA1)(nil), // 22: RPCGeneralReqA1 + (*RPCGeneralReqA2)(nil), // 23: RPCGeneralReqA2 + (*RPCGeneralReqA3)(nil), // 24: RPCGeneralReqA3 + (*RPCGeneralReqA4)(nil), // 25: RPCGeneralReqA4 + (*RPCRTaskReq)(nil), // 26: RPCRTaskReq + (*ServiceDBInfo)(nil), // 27: ServiceDBInfo + (*anypb.Any)(nil), // 28: google.protobuf.Any + (ErrorCode)(0), // 29: ErrorCode } var file_comm_proto_depIdxs = []int32{ - 27, // 0: UserMessage.data:type_name -> google.protobuf.Any - 27, // 1: AgentMessage.Message:type_name -> google.protobuf.Any - 28, // 2: RPCMessageReply.Code:type_name -> ErrorCode - 27, // 3: RPCMessageReply.ErrorData:type_name -> google.protobuf.Any + 28, // 0: UserMessage.data:type_name -> google.protobuf.Any + 28, // 1: AgentMessage.Message:type_name -> google.protobuf.Any + 29, // 2: RPCMessageReply.Code:type_name -> ErrorCode + 28, // 3: RPCMessageReply.ErrorData:type_name -> google.protobuf.Any 1, // 4: RPCMessageReply.Reply:type_name -> UserMessage 1, // 5: AgentSendMessageReq.Reply:type_name -> UserMessage - 27, // 6: BatchMessageReq.Data:type_name -> google.protobuf.Any - 27, // 7: BroadCastMessageReq.Data:type_name -> google.protobuf.Any + 28, // 6: BatchMessageReq.Data:type_name -> google.protobuf.Any + 28, // 7: BroadCastMessageReq.Data:type_name -> google.protobuf.Any 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name @@ -2151,7 +2243,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NoticeUserCloseReq); i { + switch v := v.(*NoticeUserCreateReq); i { case 0: return &v.state case 1: @@ -2163,7 +2255,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkillData); i { + switch v := v.(*NoticeUserCloseReq); i { case 0: return &v.state case 1: @@ -2175,7 +2267,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAssets); i { + switch v := v.(*SkillData); i { case 0: return &v.state case 1: @@ -2187,7 +2279,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAtno); i { + switch v := v.(*UserAssets); i { case 0: return &v.state case 1: @@ -2199,7 +2291,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskParam); i { + switch v := v.(*UserAtno); i { case 0: return &v.state case 1: @@ -2211,7 +2303,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RtaskParam); i { + switch v := v.(*TaskParam); i { case 0: return &v.state case 1: @@ -2223,7 +2315,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UIdReq); i { + switch v := v.(*RtaskParam); i { case 0: return &v.state case 1: @@ -2235,7 +2327,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NameReq); i { + switch v := v.(*UIdReq); i { case 0: return &v.state case 1: @@ -2247,7 +2339,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmptyReq); i { + switch v := v.(*NameReq); i { case 0: return &v.state case 1: @@ -2259,7 +2351,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmptyResp); i { + switch v := v.(*EmptyReq); i { case 0: return &v.state case 1: @@ -2271,7 +2363,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCGeneralReqA1); i { + switch v := v.(*EmptyResp); i { case 0: return &v.state case 1: @@ -2283,7 +2375,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCGeneralReqA2); i { + switch v := v.(*RPCGeneralReqA1); i { case 0: return &v.state case 1: @@ -2295,7 +2387,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCGeneralReqA3); i { + switch v := v.(*RPCGeneralReqA2); i { case 0: return &v.state case 1: @@ -2307,7 +2399,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCGeneralReqA4); i { + switch v := v.(*RPCGeneralReqA3); i { case 0: return &v.state case 1: @@ -2319,7 +2411,7 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCRTaskReq); i { + switch v := v.(*RPCGeneralReqA4); i { case 0: return &v.state case 1: @@ -2331,6 +2423,18 @@ func file_comm_proto_init() { } } file_comm_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPCRTaskReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_comm_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceDBInfo); i { case 0: return &v.state @@ -2349,7 +2453,7 @@ func file_comm_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_comm_proto_rawDesc, NumEnums: 1, - NumMessages: 26, + NumMessages: 27, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 510d016d8..4a54a1ffe 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -340,6 +340,7 @@ const ( ErrorCode_SmithyNoActivateAtlas ErrorCode = 4113 // 没有图鉴更新数据 ErrorCode_SmithyLvToolsFailed ErrorCode = 4114 // ErrorCode_SmithyLvToolsPre ErrorCode = 4115 // 前置条件不足 + ErrorCode_SmithyAtlasTypeErr ErrorCode = 4116 //图鉴类型错误 // dispatch ErrorCode_DispatchHeroNoReached ErrorCode = 4201 //英雄条件未达标 ErrorCode_DispatchNoFree ErrorCode = 4202 //免费次数用尽 @@ -643,6 +644,7 @@ var ( 4113: "SmithyNoActivateAtlas", 4114: "SmithyLvToolsFailed", 4115: "SmithyLvToolsPre", + 4116: "SmithyAtlasTypeErr", 4201: "DispatchHeroNoReached", 4202: "DispatchNoFree", 4203: "DispatchTicketNoEnough", @@ -941,6 +943,7 @@ var ( "SmithyNoActivateAtlas": 4113, "SmithyLvToolsFailed": 4114, "SmithyLvToolsPre": 4115, + "SmithyAtlasTypeErr": 4116, "DispatchHeroNoReached": 4201, "DispatchNoFree": 4202, "DispatchTicketNoEnough": 4203, @@ -986,7 +989,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, 0xe5, 0x35, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xfe, 0x35, 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, @@ -1399,25 +1402,27 @@ var file_errorcode_proto_rawDesc = []byte{ 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, 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, + 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, - 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/services/comp_gateroute.go b/services/comp_gateroute.go index 91454d586..f679ec100 100644 --- a/services/comp_gateroute.go +++ b/services/comp_gateroute.go @@ -85,11 +85,12 @@ func (this *SCompGateRoute) Init(service core.IService, comp core.IServiceComp, // 组件启动时注册rpc服务监听 func (this *SCompGateRoute) Start() (err error) { - this.service.RegisterFunctionName(string(comm.Rpc_GatewayRoute), this.ReceiveMsg) //注册网关路由接收接口 - this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserLogin), this.NoticeUserLogin) //注册用户登录通知 - this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserClose), this.NoticeUserClose) //注册用户离线通知 - this.service.RegisterFunctionName(string(comm.Rpc_ConfigureUpDate), this.ConfigureUpDate) //注册配置更新 - if db.IsCross() { //跨服环境 + this.service.RegisterFunctionName(string(comm.Rpc_GatewayRoute), this.ReceiveMsg) //注册网关路由接收接口 + this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserLogin), this.NoticeUserLogin) //注册用户登录通知 + this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserCreate), this.NoticeUserCreate) //注册用户离线创角 + this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserClose), this.NoticeUserClose) //注册用户离线通知 + this.service.RegisterFunctionName(string(comm.Rpc_ConfigureUpDate), this.ConfigureUpDate) //注册配置更新 + if db.IsCross() { //跨服环境 this.service.RegisterFunctionName(string(comm.Rpc_DBSyncCross), this.DBSyncCross) //注册配置更新 } err = this.ServiceCompBase.Start() @@ -190,6 +191,7 @@ func (this *SCompGateRoute) ReceiveMsg(ctx context.Context, args *pb.AgentMessag // RPC_NoticeUserClose 接收用户登录通知 func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.NoticeUserLoginReq, reply *pb.RPCMessageReply) error { + log.Debug("RPC_NoticeUserLogin", log.Field{Key: "args", Value: args}) conn, err := db.Local() if err != nil { log.Errorf("[RPC] NoticeUserLogin err: %v", err) @@ -210,17 +212,24 @@ func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.Notice GatewayServiceId: args.GatewayServiceId, Ip: args.Ip, }, db.SetDBMgoLog(false)) - session := this.pools.Get().(comm.IUserSession) - session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId) - event.TriggerEvent(comm.EventUserLogin, session) + // session := this.pools.Get().(comm.IUserSession) + // session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId) + event.TriggerEvent(comm.EventUserLogin, args.UserId) + return nil +} + +func (this *SCompGateRoute) NoticeUserCreate(ctx context.Context, args *pb.NoticeUserCreateReq, reply *pb.RPCMessageReply) error { + log.Debug("RPC_NoticeUserCreate", log.Field{Key: "args", Value: args}) + event.TriggerEvent(comm.EventCreateUser, args.UserId) return nil } // RPC_NoticeUserClose 接收用户离线通知 func (this *SCompGateRoute) NoticeUserClose(ctx context.Context, args *pb.NoticeUserCloseReq, reply *pb.RPCMessageReply) error { - session := this.pools.Get().(comm.IUserSession) - session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId) - event.TriggerEvent(comm.EventUserOffline, session) + // session := this.pools.Get().(comm.IUserSession) + // session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId) + log.Debug("RPC_NoticeUserClose", log.Field{Key: "args", Value: args}) + event.TriggerEvent(comm.EventUserOffline, args.UserId, args.UserSessionId) return nil } diff --git a/sys/configure/structs/Game.PandamasJxData.go b/sys/configure/structs/Game.PandamasJxData.go index 217b4182e..442827bdd 100644 --- a/sys/configure/structs/Game.PandamasJxData.go +++ b/sys/configure/structs/Game.PandamasJxData.go @@ -48,7 +48,7 @@ func (_v *GamePandamasJxData)Deserialize(_buf map[string]interface{}) (err error { var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } } { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } { var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } } - { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["description"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Description error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Description, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duration"].(float64); !_ok_ { err = errors.New("duration error"); return }; _v.Duration = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) }