game_sync/model/gradelog.go

324 lines
7.5 KiB
Go

package model
import (
"time"
"github.com/globalsign/mgo/bson"
)
var (
GradeLogDBName = "log"
GradeLogCollName = "log_grade"
)
const GradeLogMaxLimitPerQuery = 100
type GradeLog struct {
LogId bson.ObjectId `bson:"_id"`
SnId int32
Platform string //平台名称
Channel string //渠道名称
Promoter string //推广员
PackageTag string //推广包标识
InviterId int32 //邀请人id
Count int64
RestCount int64
Oper string
Remark string
Time time.Time
Ver int32
LogType int32
Status int32 //状态 0 默认 1超时
}
func NewGradeLog() *GradeLog {
log := &GradeLog{LogId: bson.NewObjectId()}
return log
}
func NewGradeLogEx(snid int32, count, restCount int64, ver, logType int32, oper, remark string, platform, channel, promoter, packageId string, inviterId int32) *GradeLog {
cl := NewGradeLog()
cl.SnId = snid
cl.Count = count
cl.RestCount = restCount
cl.Oper = oper
cl.Remark = remark
cl.Platform = platform
cl.Channel = channel
cl.Promoter = promoter
cl.PackageTag = packageId
cl.InviterId = inviterId
cl.Time = time.Now()
cl.Ver = ver
cl.LogType = logType
return cl
}
func InsertGradeLog(snid int32, count, restCount int64, ver, logType int32, oper, remark string, platform, channel, promoter, packageId string, inviterId int32) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
cl := NewGradeLog()
cl.SnId = snid
cl.Count = count
cl.RestCount = restCount
cl.Oper = oper
cl.Remark = remark
cl.Platform = platform
cl.Channel = channel
cl.Promoter = promoter
cl.PackageTag = packageId
cl.InviterId = inviterId
cl.Time = time.Now()
cl.Ver = ver
cl.LogType = logType
var ret bool
return rpcCli.CallWithTimeout("GradeLogSvc.InsertGradeLog", cl, &ret, time.Second*30)
}
func InsertGradeLogs(logs ...*GradeLog) (err error) {
if rpcCli == nil {
return ErrRPClientNoConn
}
var ret bool
return rpcCli.CallWithTimeout("GradeLogSvc.InsertGradeLogs", logs, &ret, time.Second*30)
}
type UpdateGradeLogStatusArgs struct {
Plt string
Id bson.ObjectId
Status int32
}
func UpdateGradeLogStatus(plt string, id bson.ObjectId, status int32) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
args := &UpdateGradeLogStatusArgs{
Plt: plt,
Id: id,
Status: status,
}
var ret bool
return rpcCli.CallWithTimeout("GradeLogSvc.UpdateGradeLogStatus", args, &ret, time.Second*30)
}
type GradeLogLog struct {
Logs []*GradeLog
PageNo int32
PageSize int32
PageNum int32
}
type GetGradeLogByPageAndSnIdArgs struct {
Plt string
SnId int32
PageNo int32
PageSize int32
}
func GetGradeLogByPageAndSnId(plt string, snid, pageNo, pageSize int32) (ret *GradeLogLog, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetGradeLogByPageAndSnIdArgs{
Plt: plt,
SnId: snid,
PageNo: pageNo,
PageSize: pageSize,
}
err = rpcCli.CallWithTimeout("GradeLogSvc.GetGradeLogByPageAndSnId", args, &ret, time.Second*30)
return
}
type RemoveGradeLogArgs struct {
Plt string
Id bson.ObjectId
}
func RemoveGradeLog(plt string, id bson.ObjectId) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
args := &RemoveGradeLogArgs{
Plt: plt,
Id: id,
}
var ret bool
return rpcCli.CallWithTimeout("GradeLogSvc.RemoveGradeLog", args, &ret, time.Second*30)
}
type GetGradeLogBySnidAndLessTsArgs struct {
Plt string
SnId int32
Ts time.Time
}
func GetGradeLogBySnidAndLessTs(plt string, id int32, ts time.Time) (ret []GradeLog, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetGradeLogBySnidAndLessTsArgs{
Plt: plt,
SnId: id,
Ts: ts,
}
err = rpcCli.CallWithTimeout("GradeLogSvc.GetGradeLogBySnidAndLessTs", args, &ret, time.Second*30)
return
}
// ///////////////////////////////////////////////////////////////////////////////
// ///////////////////////////////////////////////////////////////////////////////
// 积分兑换对账数据
var (
BillGradeLogDBName = "user"
BillGradeLogCollName = "user_billgradelog"
)
type BillGradeLog struct {
LogId string //账单ID
Platform string //平台号
GradeLogId string //账变对应记录id
SnId int32 //用户ID
ShopId int32 //商品id
ShopType int32 //商品类型 0.虚拟 1.实物
ShopName string //商品名称
Grade int64 //账单积分
Coin int64 //账单兑换金额
TimeStamp int64 //生效时间戳
CreateTime time.Time //账单时间
Ver int32 //账单版本号
Oper string //操作人
Status int32 //状态 0.创建 1.超时 3.取消订单 4.异常 9.已发货
}
func NewBillGradeLog(platform string, SnId, ShopId, ShopType int32, ShopName string, Grade, Coin int64, Oper, GradeLogId string) *BillGradeLog {
tNow := time.Now()
log := &BillGradeLog{
LogId: bson.NewObjectId().Hex(),
Platform: platform,
SnId: SnId,
ShopId: ShopId,
ShopType: ShopType,
ShopName: ShopName,
Grade: Grade,
Coin: Coin,
Ver: VER_PLAYER_MAX - 1,
TimeStamp: tNow.UnixNano(),
CreateTime: tNow,
Oper: Oper,
GradeLogId: GradeLogId,
Status: 0,
}
return log
}
func InsertBillGradeLogs(logs ...*BillGradeLog) (err error) {
if rpcCli == nil {
return ErrRPClientNoConn
}
var ret bool
return rpcCli.CallWithTimeout("BillGradeLogSvc.InsertBillGradeLogs", logs, &ret, time.Second*30)
}
func InsertBillGradeLog(log *BillGradeLog) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
var ret bool
return rpcCli.CallWithTimeout("BillGradeLogSvc.InsertBillGradeLog", log, &ret, time.Second*30)
}
type RemoveBillGradeLogArgs struct {
Plt string
LogId string
}
func RemoveBillGradeLog(plt string, logid string) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
args := &RemoveBillGradeLogArgs{
Plt: plt,
LogId: logid,
}
var ret bool
return rpcCli.CallWithTimeout("BillGradeLogSvc.InsertBillGradeLog", args, &ret, time.Second*30)
}
type UpdateBillGradeLogStatusArgs struct {
Plt string
LogId string
Status int32
}
func UpdateBillGradeLogStatus(plt string, logId string, status int32) error {
if rpcCli == nil {
return ErrRPClientNoConn
}
args := &UpdateBillGradeLogStatusArgs{
Plt: plt,
LogId: logId,
Status: status,
}
var ret bool
return rpcCli.CallWithTimeout("BillGradeLogSvc.UpdateBillGradeLogStatus", args, &ret, time.Second*30)
}
type GetAllBillGradeLogArgs struct {
Plt string
SnId int32
Ts int64
}
func GetAllBillGradeLog(plt string, snid int32, ts int64) (ret []BillGradeLog, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetAllBillGradeLogArgs{
Plt: plt,
SnId: snid,
Ts: ts,
}
err = rpcCli.CallWithTimeout("BillGradeLogSvc.GetAllBillGradeLog", args, &ret, time.Second*30)
return
}
type GetBillGradeLogByLogIdArgs struct {
Plt string
LogId string
}
func GetBillGradeLogByLogId(plt string, logId string) (ret *BillGradeLog, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetBillGradeLogByLogIdArgs{
Plt: plt,
LogId: logId,
}
err = rpcCli.CallWithTimeout("BillGradeLogSvc.GetBillGradeLogByLogId", args, &ret, time.Second*30)
return
}
type GetBillGradeLogByBillNoArgs struct {
Plt string
SnId int32
BillNo int64
}
func GetBillGradeLogByBillNo(plt string, snid int32, billNo int64) (ret *BillGradeLog, err error) {
if rpcCli == nil {
return nil, ErrRPClientNoConn
}
args := &GetBillGradeLogByBillNoArgs{
Plt: plt,
SnId: snid,
BillNo: billNo,
}
err = rpcCli.CallWithTimeout("BillGradeLogSvc.GetBillGradeLogByLogId", args, &ret, time.Second*30)
return
}