game_sync/dbproxy/mq/c_welfarelog.go

56 lines
1.1 KiB
Go

package mq
import (
"mongo.games.com/goserver/core/logger"
"mongo.games.com/game/dao"
"mongo.games.com/game/dbproxy/svc"
"mongo.games.com/game/model"
"mongo.games.com/game/mq"
)
func init() {
mq.RegisterHandler(&mq.RegisterHandlerParam{
Name: model.WelfareLogCollName,
Data: &model.WelfareLog{},
Handler: func(data interface{}) (err error) {
log, ok := data.(*model.WelfareLog)
if !ok {
return
}
c := svc.WelfareLogsCollection(log.Platform)
if c != nil {
err = c.Insert(log)
if err != nil {
logger.Logger.Errorf("insert WelfareLog failed: %v", err)
}
}
return
},
})
mq.RegisterHandler(&mq.RegisterHandlerParam{
Name: mq.DBRedPacket,
Data: &model.RedPacketHistory{},
Handler: func(data interface{}) (err error) {
log, ok := data.(*model.RedPacketHistory)
if !ok {
return
}
d, err := dao.GetRedPacketHistory(log.Platform)
if err != nil {
logger.Logger.Errorf("get RedPacketHistory failed: %v", err)
return err
}
err = d.Save(log)
if err != nil {
logger.Logger.Errorf("Save RedPacketHistory failed: %v", err)
return err
}
return nil
},
})
}