package model import ( "strconv" "time" "mongo.games.com/game/mq" ) // GenerateOnline 在线统计 func GenerateOnline(online map[string]map[string]int) *RabbitMQData { params := make(map[string]interface{}) params["Online"] = online params["Time"] = time.Now().Unix() return NewRabbitMQData(mq.BackOnline, params) } // GenerateLogin 玩家登陆事件 func GenerateLogin(o *PlayerLoginEvent) *RabbitMQData { return NewRabbitMQData(mq.BackLogin, o) } // GenerateGameEvent 游戏结算事件 func GenerateGameEvent(o *PlayerGameRecEvent) *RabbitMQData { return NewRabbitMQData(mq.BackGameRecord, o) } // GenerateSystemFreeGive 系统免费赠送 func GenerateSystemFreeGive(snid int32, name, platform, channel string, givetype, cointype int32, count int64) *RabbitMQData { params := make(map[string]string) params["snid"] = strconv.Itoa(int(snid)) params["Channel"] = channel params["name"] = name params["platform"] = platform params["givetype"] = strconv.Itoa(int(givetype)) //0创号赠送 1签到赠送(转盘、签到、累签) 2商城观看视频赠送 3破产补助 4vip领取 params["cointype"] = strconv.Itoa(int(cointype)) //货币类型 0金币 1钻石 params["count"] = strconv.Itoa(int(count)) params["ts"] = strconv.Itoa(int(time.Now().Unix())) return NewRabbitMQData(mq.BackSystemFreeGive, params) } // GeneratePhoneLottery 手机抽奖统计 func GeneratePhoneLottery(snid int32, platform string, items string, lotteryType, count, countType, score int) *RabbitMQData { params := make(map[string]string) params["Snid"] = strconv.Itoa(int(snid)) params["Platform"] = platform params["LotteryType"] = strconv.Itoa(lotteryType) //1-抽奖获得 2-兑换 3-抽奖次数 params["Items"] = items params["Score"] = strconv.Itoa(score) //兑换消耗积分 params["CountType"] = strconv.Itoa(countType) //1-首次登录 2-玩游戏 3-输赢送 4-充值送 5-初始送 params["Count"] = strconv.Itoa(count) params["Ts"] = strconv.Itoa(int(time.Now().Unix())) return NewRabbitMQData(mq.BackPhoneLottery, params) } //type PlayerGameEntryEvent struct { // RecordId string //游戏记录ID // SnId int32 //用户ID // Platform int32 //平台 // OS int //0 Windows 1 Android 2 iOS // GameId int //游戏id // ModeId int //游戏模式 // Time int64 //入场时间 RFC3339 // Id int32 //游戏id //} // GenerateEnterEvent 玩家或观众进场事件 //func GenerateEnterEvent(recordId string, snId int32, platform, os string, gameId, modeId int, gameFreeId int32) *RabbitMQData { // m := &PlayerGameEntryEvent{ // RecordId: recordId, // SnId: snId, // GameId: gameId, // ModeId: modeId, // Time: time.Now().Unix(), // Id: gameFreeId, // } // pf, err := strconv.Atoi(platform) // if err != nil { // logger.Error(err) // return nil // } // m.Platform = int32(pf) // m.OS = common.DeviceNum[os] // return NewRabbitMQData(string(MqNameEnterEvent), m) //}