From 55d0ad643bba1162819547d112844c30ec8dd39c Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Tue, 27 Dec 2022 14:39:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/const.go | 2 ++ modules/sys/module.go | 12 ++++++++++++ modules/user/comp_configure.go | 21 +++++++++++++++++++++ modules/user/model_user.go | 2 ++ 4 files changed, 37 insertions(+) diff --git a/comm/const.go b/comm/const.go index e94e39501..8d6912e57 100644 --- a/comm/const.go +++ b/comm/const.go @@ -272,6 +272,8 @@ const ( EventTaskChanged core.Event_Key = "event_task_changed" //任务数据变化 EventUserVipChanged core.Event_Key = "event_uservip_changed" //用户数据变化 EventSociatyRankChanged core.Event_Key = "event_sociatyRank_changed" //公会数据变化 + + EventOpenCond core.Event_Key = "event_open_cond" //功能开放事件 ) const ( diff --git a/modules/sys/module.go b/modules/sys/module.go index a2f12427a..84afcad00 100644 --- a/modules/sys/module.go +++ b/modules/sys/module.go @@ -3,6 +3,8 @@ package sys import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/event" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" ) @@ -28,6 +30,12 @@ func (this *ModuleSys) OnInstallComp() { this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } +func (this *ModuleSys) Start() (err error) { + err = this.ModuleBase.Start() + event.RegisterGO(comm.EventOpenCond, this.EventOpenCond) + return +} + func (this *ModuleSys) GetType() core.M_Modules { return comm.ModuleSys } @@ -35,3 +43,7 @@ func (this *ModuleSys) GetType() core.M_Modules { func (this *ModuleSys) IsAccess(funcName string, userId string) (code pb.ErrorCode) { return this.modelSys.IsAccess(funcName, userId) } + +func (this *ModuleSys) EventOpenCond(funcIds []string) { + this.Debug("EventOpenCond", log.Field{Key: "funcIds", Value: funcIds}) +} diff --git a/modules/user/comp_configure.go b/modules/user/comp_configure.go index f9d611ee0..531791265 100644 --- a/modules/user/comp_configure.go +++ b/modules/user/comp_configure.go @@ -1,6 +1,7 @@ package user import ( + "fmt" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" @@ -12,6 +13,7 @@ import ( const ( game_signreset = "game_signreset.json" game_sign = "game_sign.json" + gameOpencond = "game_opencond.json" ) ///配置管理基础组件 @@ -27,6 +29,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp this._sign = make(map[int32]*cfg.GameSignData, 0) configure.RegisterConfigure(game_sign, cfg.NewGameSign, this.LoadSignData) + this.LoadConfigure(gameOpencond, cfg.NewGameOpencond) return } @@ -64,3 +67,21 @@ func (this *configureComp) LoadSignData() { } return } + +func (this *configureComp) FindFunc(lv int32) (funcIds []string) { + if v, err := this.GetConfigure(gameOpencond); err != nil { + return nil + } else { + data, ok := v.(*cfg.GameOpencond) + if !ok { + err = fmt.Errorf("%T no is *cfg.GameOpencond", v) + return nil + } + for _, d := range data.GetDataList() { + if d.Main == lv { + funcIds = append(funcIds, d.Id) + } + } + } + return +} diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 8df583e86..5bd8926bb 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -4,6 +4,7 @@ import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/core" + et "go_dreamfactory/lego/sys/event" event_v2 "go_dreamfactory/lego/sys/event/v2" "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" @@ -272,6 +273,7 @@ func (this *ModelUser) ChangeLevel(event interface{}, next func(event interface{ ) return } + et.TriggerEvent(comm.EventOpenCond, this.module.configure.FindFunc(curLv)) if err := ul.session.SendMsg(string(this.module.GetType()), UserSubTypeLvChangedPush, &pb.UserLvChangedPush{Uid: ul.session.GetUserId(), Exp: curExp, Lv: curLv}); err != nil { this.module.Error("玩家等级变化 UserSubTypeLvChangedPush推送失败",