36 lines
787 B
Go
36 lines
787 B
Go
package mq
|
|
|
|
import (
|
|
"mongo.games.com/game/dbproxy/svc"
|
|
"mongo.games.com/game/model"
|
|
"mongo.games.com/game/mq"
|
|
)
|
|
|
|
func init() {
|
|
mq.RegisterHandler(&mq.RegisterHandlerParam{
|
|
Name: model.CoinLogCollName,
|
|
Data: &model.CoinLog{},
|
|
Handler: func(data interface{}) (err error) {
|
|
log, ok := data.(*model.CoinLog)
|
|
if !ok {
|
|
return
|
|
}
|
|
if log.Count == 0 { //玩家冲账探针
|
|
mq.Send(mq.WorldLogCoinAck, log)
|
|
} else {
|
|
c := svc.CoinLogsCollection(log.Platform)
|
|
if c != nil {
|
|
err = c.Insert(log)
|
|
if err == nil {
|
|
err = svc.InsertCoinWAL(log.Platform, model.NewCoinWAL(log.SnId, log.Count, log.LogType, log.InGame, log.CoinType, log.RoomId, log.Time.UnixNano()))
|
|
if err != nil {
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return
|
|
},
|
|
})
|
|
}
|