package main // //import ( // "encoding/json" // "mongo.games.com/game/common" // "mongo.games.com/game/model" // "mongo.games.com/game/webapi" // "mongo.games.com/goserver/core/logger" // "mongo.games.com/goserver/core/module" // "time" //) // ////公告模块 // //var BulletMgrSington = &BulletMgr{ // BulletMsgList: make(map[int32]*Bullet), //} // //type BulletMgr struct { // BulletMsgList map[int32]*Bullet //} // //type Bullet struct { // Id int32 // Sort int32 //排序 // Platform string // NoticeTitle string // NoticeContent string // UpdateTime string // State int //0 关闭 1开启 //} //type ApiBulletResult struct { // Tag int // Msg []Bullet //} // //func (this *BulletMgr) query() { // //不使用etcd的情况下走api获取 // if model.GameParamData.UseEtcd { // EtcdMgrSington.InitPlatformBulletin() // } else { // buff, err := webapi.API_GetBulletData(common.GetAppId()) // //logger.Logger.Warn("bulletin buff: ", string(buff)) // if err == nil { // info := ApiBulletResult{} // err = json.Unmarshal([]byte(buff), &info) // if err == nil { // for i := 0; i < len(info.Msg); i++ { // BulletMgrSington.BulletMsgList[info.Msg[i].Id] = &info.Msg[i] // } // } else { // logger.Logger.Error("Unmarshal Bullet data error:", err, string(buff)) // } // } else { // logger.Logger.Error("Get Bullet data error:", err) // } // } //} // //func (this *BulletMgr) clearPlatformBullet(Platform string) { // for k, v := range this.BulletMsgList { // if v.Platform == Platform { // delete(this.BulletMsgList, k) // } // } //} // //func (this *BulletMgr) updateBullet(id int32, info string) (map[int32]*Bullet, string) { // platform := "" // if info == "" { // delete(this.BulletMsgList, id) // platform = "delete" // } else { // bt := this.Unmarshal(info) // if bt != nil { // this.BulletMsgList[id] = bt // platform = bt.Platform // } // } // return this.BulletMsgList, platform //} //func (this *BulletMgr) Unmarshal(info string) (bt *Bullet) { // err := json.Unmarshal([]byte(info), &bt) // if err != nil { // logger.Logger.Trace("Unmarshal Bullet is error :", err) // return nil // } // return //} //func (this *BulletMgr) ModuleName() string { // return "BulletMgr" //} //func (this *BulletMgr) Init() { //} //func (this *BulletMgr) Update() { //} //func (this *BulletMgr) Shutdown() { // module.UnregisteModule(this) //} // ///////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////招商列表 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // //var CustomerMgrSington = &CustomerMgr{ // CustomerMsgList: make(map[int32]*Customer), //} // //type CustomerMgr struct { // CustomerMsgList map[int32]*Customer //} //type Customer struct { // Id int32 // Platform string // Weixin_account string // Qq_account string // Headurl string // Nickname string // Status int // Ext string //} //type ApiCustomerResult struct { // Tag int // Msg []Customer //} // //func (this *CustomerMgr) ModuleName() string { // return "CustomerMgr" //} //func (this *CustomerMgr) Init() { //} //func (this *CustomerMgr) Update() { //} //func (this *CustomerMgr) Shutdown() { // module.UnregisteModule(this) //} //func (this *CustomerMgr) query() { // //不使用etcd的情况下走api获取 // if model.GameParamData.UseEtcd { // EtcdMgrSington.InitPlatformAgent() // } else { // buff, err := webapi.API_GetCustomerData(common.GetAppId()) // logger.Logger.Trace("customer buff:", string(buff)) // if err == nil { // c_info := ApiCustomerResult{} // err = json.Unmarshal([]byte(buff), &c_info) // if err == nil { // for i := 0; i < len(c_info.Msg); i++ { // CustomerMgrSington.CustomerMsgList[c_info.Msg[i].Id] = &c_info.Msg[i] // } // } else { // logger.Logger.Trace("CustomerMgr is Unmarshal error.", err) // } // } else { // logger.Logger.Trace("API_GetCustomerData is error. ", err) // } // } //} //func (this *CustomerMgr) updateCustomer(id int32, info string) (map[int32]*Customer, string) { // platform := "" // if info == "" { // delete(this.CustomerMsgList, id) // platform = "delete" // } else { // bt := this.Unmarshal(info) // if bt != nil { // this.CustomerMsgList[id] = bt // platform = bt.Platform // } // } // return this.CustomerMsgList, platform //} //func (this *CustomerMgr) Unmarshal(info string) (bt *Customer) { // err := json.Unmarshal([]byte(info), &bt) // if err != nil { // logger.Logger.Trace("Unmarshal Customer is error :", err) // return nil // } // return //} // //func init() { // module.RegisteModule(BulletMgrSington, time.Second*2, 0) // module.RegisteModule(CustomerMgrSington, time.Second*2, 0) // // RegisterParallelLoadFunc("平台公告", func() error { // BulletMgrSington.query() // return nil // }) // // ////不使用并发加载,因为并发太快,用到GameParam里面的数据还未来的及加载,下同 // //core.RegisteHook(core.HOOK_BEFORE_START, func() error { // // BulletMgrSington.query() // // return nil // //}) // // RegisterParallelLoadFunc("平台代理", func() error { // CustomerMgrSington.query() // return nil // }) // // //core.RegisteHook(core.HOOK_BEFORE_START, func() error { // // CustomerMgrSington.query() // // return nil // //}) //}