65 lines
1.9 KiB
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
|
|
}
|