143 lines
3.1 KiB
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
|
|
}
|