package mq import ( "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/srvlib" "mongo.games.com/goserver/srvlib/action" "mongo.games.com/game/common" "mongo.games.com/game/model" "mongo.games.com/game/mq" rankproto "mongo.games.com/game/protocol/rank" "mongo.games.com/game/ranksrv/rank" ) // Init 初始化 func Init() { InitHandler() // 注册消息 mq.RegisterMessage(&mq.RegisterMessageParam{ Name: mq.DBCustomLogAward, Data: model.CustomLogAward{}, }) } // InitHandler 注册消息处理方法 func InitHandler() { mq.RegisterHandler(&mq.RegisterHandlerParam{ Name: mq.RankCustomLogAward, Data: model.CustomLogAward{}, Handler: func(data interface{}) (err error) { log, ok := data.(*model.CustomLogAward) if !ok { return nil } rank.CustomAwardMgrInstance.UpdateCache(log.Platform, 0) var awards []*rankproto.Item for _, v := range log.Awards { awards = append(awards, &rankproto.Item{ Id: v.ItemId, N: v.ItemNum, }) } pack := &rankproto.UserAward{ Snid: log.SnId, Name: log.Name, Awards: awards, Ts: log.EndTs, } action.BroadcastMessage(common.GetSelfAreaId(), srvlib.GateServerType, int(rankproto.Rank_PACKET_SCRoomAwardOne), pack, nil) logger.Logger.Tracef("SCRoomAwardOne %v", pack) return }, }) }