game_sync/model/safeboxlog.go

143 lines
3.1 KiB
Go

package model
import (
"time"
"github.com/globalsign/mgo"
"github.com/globalsign/mgo/bson"
)
var (
SafeBoxDBName = "log"
SafeBoxCollName = "log_safeboxrec"
)
const (
SafeBoxLogType_Save int32 = iota
SafeBoxLogType_TakeOut
SafeBoxLogType_Exchange
SafeBoxLogType_Op
)
type SafeBoxRec struct {
Id bson.ObjectId `bson:"_id"`
Platform string //平台id
Channel string //平台
Promoter string //推广员
UserId int32 //用户id
Count int64 //存取金额
BeforeSafeBox int64 //操作前保险箱金额
AfterSafeBox int64 //操作后保险箱金额
BeforeCoin int64 //操作前钱包金币
AfterCoin int64 //操作后钱包金币
LogType int32 //操作类型
IP string //ip
Oper string //操作者
Time time.Time //操作时间
}
func InsertSafeBox(userid int32, opcount, beforesafebox, aftersafebox, beforecoin, aftercoin int64, logtype int32,
ts time.Time, ip, oper, platform, channel, promoter string) (error, bson.ObjectId) {
if rpcCli == nil {
return ErrRPClientNoConn, bson.ObjectId("")
}
gr := &SafeBoxRec{}
gr.Id = bson.NewObjectId()
gr.UserId = userid
gr.Time = ts
gr.IP = ip
gr.Oper = oper
gr.Count = opcount
gr.BeforeSafeBox = beforesafebox
gr.AfterSafeBox = aftersafebox
gr.BeforeCoin = beforecoin
gr.AfterCoin = aftercoin
gr.LogType = logtype
gr.Platform = platform
gr.Channel = channel
gr.Promoter = promoter
var ret bool
err := rpcCli.CallWithTimeout("SafeBoxRecSvc.InsertSafeBox", gr, &ret, time.Second*30)
if err != nil {
return err, bson.ObjectId("")
}
return nil, gr.Id
}
type GetSafeBoxsArgs struct {
Plt string
SnId int32
}
func GetSafeBoxs(plt string, userid int32) (recs []SafeBoxRec, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetSafeBoxsArgs{
Plt: plt,
SnId: userid,
}
err = rpcCli.CallWithTimeout("SafeBoxRecSvc.GetSafeBoxs", args, &recs, time.Second*30)
if err != nil {
return nil, err
}
return
}
type RemoveSafeBoxsArgs struct {
Plt string
Ts time.Time
}
func RemoveSafeBoxs(plt string, ts time.Time) (info *mgo.ChangeInfo, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &RemoveSafeBoxsArgs{
Plt: plt,
Ts: ts,
}
err = rpcCli.CallWithTimeout("SafeBoxRecSvc.RemoveSafeBoxs", args, &info, time.Second*30)
return
}
type RemoveSafeBoxCoinLogArgs struct {
Plt string
Id bson.ObjectId
}
func RemoveSafeBoxCoinLog(plt string, id bson.ObjectId) (err error) {
if rpcCli == nil {
return ErrRPClientNoConn
}
args := &RemoveSafeBoxCoinLogArgs{
Plt: plt,
Id: id,
}
var ret bool
err = rpcCli.CallWithTimeout("SafeBoxRecSvc.RemoveSafeBoxCoinLog", args, &ret, time.Second*30)
return
}
type GetSafeBoxCoinLogArgs struct {
Plt string
Ts time.Time
}
func GetSafeBoxCoinLog(plt string, ts time.Time) (recs []SafeBoxRec, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetSafeBoxCoinLogArgs{
Plt: plt,
Ts: ts,
}
err = rpcCli.CallWithTimeout("SafeBoxRecSvc.GetSafeBoxCoinLog", args, &recs, time.Second*30)
return
}