package pay import ( "fmt" "go_dreamfactory/lego/core" "go_dreamfactory/modules" cfg "go_dreamfactory/sys/configure/structs" ) const ( game_recharge = "game_recharge.json" game_paypackage = "game_paypackage.json" ) ///背包配置管理组件 type configureComp struct { modules.MCompConfigure module *Pay } //组件初始化接口 func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Pay) this.LoadConfigure(game_recharge, cfg.NewGameRecharge) this.LoadConfigure(game_paypackage, cfg.NewGamePayPackage) return } //获取手动加入频道 任务限制 func (this *configureComp) getGameRecharge(id string) (result *cfg.GameRechargeData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_recharge); err != nil { this.module.Errorf("err:%v", err) return } else { if result, ok = v.(*cfg.GameRecharge).GetDataMap()[id]; !ok { err = fmt.Errorf("getGameRecharge on found %s", id) this.module.Errorf("err:%v", err) return } } return } //获取手动加入频道 任务限制 func (this *configureComp) getPayPackageDatas() (result []*cfg.GamePayPackageData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_paypackage); err != nil { this.module.Errorf("err:%v", err) return } else { result = v.(*cfg.GamePayPackage).GetDataList() } return } //获取手动加入频道 任务限制 func (this *configureComp) getPayPackageData(id int32) (result *cfg.GamePayPackageData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_paypackage); err != nil { this.module.Errorf("err:%v", err) return } else { if result, ok = v.(*cfg.GamePayPackage).GetDataMap()[id]; !ok { err = fmt.Errorf("getGameRecharge on found %d", id) this.module.Errorf("err:%v", err) return } } return } //获取手动加入频道 任务限制 func (this *configureComp) getPayPackageDataByPid(pid string) (result *cfg.GamePayPackageData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_paypackage); err != nil { this.module.Errorf("err:%v", err) return } else { for _, v := range v.(*cfg.GamePayPackage).GetDataMap() { if v.Packagetype == pid { result = v return } } } err = fmt.Errorf("getPayPackageDataByPid no found %s", pid) return }