game_sync/model/upgradeaccountcoin.go

65 lines
1.9 KiB
Go

package model
import (
"time"
"github.com/globalsign/mgo/bson"
)
var (
UpgradeAccountCoinDBName = "log"
UpgradeAccountCoinCollName = "log_upgradeaccountcoin"
)
type UpGradeAccountCoin struct {
LogId bson.ObjectId `bson:"_id"`
IP string //IP
Date int32 //YYYYMMDD
Coin int32 //金币
SnId int32 //玩家id
Platform string //平台名称
Channel string //渠道名称
Promoter string //推广员
PackageTag string //包标识
InviterId int32 //邀请人
City string //城市
CreateTime time.Time //创建日期
}
type UpGradeAccountCoinArgs struct {
Plt string
Ip string
Date int32
}
func GetUpgradeAccountCoinLogsByIPAndDate(ip, platform string, logTime time.Time) int32 {
year, month, day := logTime.Date()
date := year*10000 + int(month)*100 + day
if rpcCli == nil {
return 0
}
args := &UpGradeAccountCoinArgs{Plt: platform, Ip: ip, Date: int32(date)}
var count int32
err := rpcCli.CallWithTimeout("UpGradeAccountCoinSvc.GetUpgradeAccountCoinLogsByIPAndDate", args, &count, time.Second*30)
if err != nil {
return 0
}
return count
}
func InsertUpgradeAccountCoinLog(ip string, logTime time.Time, coin int32, snId int32, channel, platform, promoter, packageTag, city string, inviterId int32) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
year, month, day := logTime.Date()
date := year*10000 + int(month)*100 + day
log := &UpGradeAccountCoin{LogId: bson.NewObjectId(), IP: ip, Date: int32(date), Coin: coin, SnId: snId, Platform: platform, Channel: channel, City: city, Promoter: promoter, PackageTag: packageTag, InviterId: inviterId, CreateTime: time.Now()}
var ret bool
err := rpcCli.CallWithTimeout("UpGradeAccountCoinSvc.InsertUpgradeAccountCoinLog", log, &ret, time.Second*30)
if err != nil {
return err
}
return err
}