Initial commit

This commit is contained in:
2026-05-20 16:13:58 +08:00
commit ceffbe382e
500 changed files with 157469 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
package botreport
import (
"context"
"fmt"
"stat/common/log"
"stat/common/mongos"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
var db *mongos.MongoTool
func Init(ctx context.Context) {
// 获取数据库表
db = mongos.New(mongos.MgoManager, TN.BotReport)
// 初始化索引
indexes := []mongo.IndexModel{
{
Keys: bson.D{
{Key: FN.BotReport.SumDate, Value: 1},
},
},
}
if _, err := db.CreateIndex(ctx, indexes); err != nil {
panic(fmt.Sprintf("(BotReport:initBotReportIndex) Create BotReport Index failed! err:%+v:", err))
}
}
//InsertOneBotReport 插入一个VIP购买记录
func InsertOneBotReport(ctx context.Context, BotReport *BotReport) error {
if _, err := db.InsertOne(ctx, BotReport); err != nil {
log.Warn("BotReport:InsertOneBotReport db.InsertOne failed", log.E(err))
return err
}
return nil
}
//FindOneBotReport 查找一个VIP购买记录
func FindOneBotReport(ctx context.Context, filter bson.M) (
*BotReport, error) {
var BotReport BotReport
if err := db.FindOne(ctx, &BotReport, filter); err != nil {
return nil, err
}
return &BotReport, nil
}
//DelOneBotReport 删除一个VIP购买记录
func DelOneBotReport(ctx context.Context, filter bson.M) (
int64, error) {
count, err := db.DeleteOne(ctx, filter)
if err != nil {
log.Warn("BotReport:DelOneBotReport db.DeleteOne failed",
log.E(err), log.Any("filter", filter))
return 0, err
}
return count, nil
}
//UpdateOneBotReport 更新一个VIP购买记录
func UpdateOneBotReport(ctx context.Context, filter bson.M, update bson.M) error {
_, err := db.UpdateOne(ctx, filter, update)
if err != nil {
log.Warn("user:UpdateOneBotReport db.UpdateOne failed",
log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//CountBotReports 统计VIP购买记录数量
func CountBotReports(ctx context.Context, filter bson.M) (
int64, error) {
count, err := db.Count(ctx, filter)
if err != nil {
log.Warn("BotReport:CountBotReports db.Count failed",
log.E(err), log.Any("filter", filter))
return 0, err
}
return count, nil
}
//UpdateManyBotReport 更新满足条件的VIP购买记录
func UpdateManyBotReport(ctx context.Context, filter bson.M, update bson.M) error {
_, err := db.UpdateMany(ctx, filter, update)
if err != nil {
log.Warn("user:UpdateManyBotReport db.UpdateMany failed",
log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//FindManyBotReport 查找一批VIP购买记录数据
func FindManyBotReport(ctx context.Context, filter bson.M,
opts ...*options.FindOptions) (BotReportList, error) {
data := make(BotReportList, 0)
if err := db.Find(ctx, &data, filter, opts...); err != nil {
log.Warn("BotReport:FindManyBotReport db.Find failed", log.E(err), log.Any("filter", filter))
return nil, err
}
return data, nil
}
//FindManyBotReportWithBind 用自己定义结构查找一批VIP购买记录数据
func FindManyBotReportWithBind(ctx context.Context, bind interface{}, filter bson.M,
opts ...*options.FindOptions) error {
if err := db.Find(ctx, bind, filter, opts...); err != nil {
log.Warn("BotReport:FindManyBotReportWithBind db.Find failed", log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//AggregateBotReports 聚合查找一批VIP购买记录信息
func AggregateBotReports(ctx context.Context,
bind interface{}, pipeline []bson.M) error {
if err := db.Aggregate(ctx, bind, pipeline); err != nil {
log.Warn("feedback:AggregateBotReports db.Aggregate failed",
log.E(err), log.Any("pipeline", pipeline))
return err
}
return nil
}
+224
View File
@@ -0,0 +1,224 @@
package botreport
type TagBotReport struct {
AccessUser string
TodayAccessIos string
TodayAccessAndroid string
AppId string
CreatedAt string
GameDCRchgAmount string
GameDCRchgCount string
GameDecAmount string
GameDecCount string
GameFirstRchgAmount string
GameFirstRchgCount string
GameFirstRchgUsers string
GameGiftIncAmount string
GameGiftIncCount string
GameIncAmount string
GameInchCount string
GamePlayCount string
GameRchGiftIncAmount string
GameRchGiftIncCount string
GameRchgAmount string
GameRchgCount string
GameRchgUsers string
GameVipGiftIncAmount string
GameVipGiftIncCount string
GameWtdrAmount string
GameWtdrCount string
GameWtdrRealAmount string
HourAndroidNew string
HourAndroidNewRecharge string
HourAndroidRecharge string
HourDistrictRecharge string
HourDistrictVip string
HourH5New string
HourH5NewRecharge string
HourH5Recharge string
HourIosNew string
HourIosNewRecharge string
HourIosRecharge string
HourNew string
HourNewDistrict string
HourNewNormal string
HourNewRecharge string
HourNewWeb string
HourNormalRecharge string
HourNormalVip string
HourOldRecharge string
HourOrder string
HourRecharge string
HourSuccessOrder string
HourVipRecharge string
HourWebRecharge string
HourWebVip string
ID string
Profit string
Revenue string
SumDate string
TodayAccessH5 string
TodayAndroidNew string
TodayAndroidNewRecharge string
TodayAndroidRecharge string
TodayDistrictRecharge string
TodayDistrictVip string
TodayH5New string
TodayH5NewRecharge string
TodayH5Recharge string
TodayIosNew string
TodayIosNewRecharge string
TodayIosRecharge string
TodayNew string
TodayNewDistrict string
TodayNewNormal string
TodayNewRecharge string
TodayNewWeb string
TodayNormalRecharge string
TodayNormalVip string
TodayOldRecharge string
TodayOrder string
TodayRecharge string
TodaySuccessOrder string
TodayVipRecharge string
TodayWebRecharge string
TodayWebVip string
ValidBet string
TodayAccessH5Pc string
TodayAccessH5Ios string
TodayAccessH5Android string
TodayH5PcNew string
TodayH5IosNew string
TodayH5AndroidNew string
TodayH5PcRecharge string
TodayH5IosRecharge string
TodayH5AndroidRecharge string
TodayH5PcNewRecharge string
TodayH5IosNewRecharge string
TodayH5AndroidNewRecharge string
HourH5PcNew string
HourH5IosNew string
HourH5AndroidNew string
HourH5PcRecharge string
HourH5IosRecharge string
HourH5AndroidRecharge string
HourH5PcNewRecharge string
HourH5IosNewRecharge string
HourH5AndroidNewRecharge string
}
var FN struct {
BotReport TagBotReport
}
var TN struct {
BotReport string
}
func init() {
FN.BotReport.AccessUser = "accessUser"
FN.BotReport.AppId = "appId"
FN.BotReport.CreatedAt = "createdAt"
FN.BotReport.GameDCRchgAmount = "gameDCRchgAmount"
FN.BotReport.GameDCRchgCount = "gameDCRchgCount"
FN.BotReport.GameDecAmount = "gameDecAmount"
FN.BotReport.GameDecCount = "gameDecCount"
FN.BotReport.GameFirstRchgAmount = "gameFirstRchgAmount"
FN.BotReport.GameFirstRchgCount = "gameFirstRchgCount"
FN.BotReport.GameFirstRchgUsers = "gameFirstRchgUsers"
FN.BotReport.GameGiftIncAmount = "gameGiftIncAmount"
FN.BotReport.GameGiftIncCount = "gameGiftIncCount"
FN.BotReport.GameIncAmount = "gameIncAmount"
FN.BotReport.GameInchCount = "gameInchCount"
FN.BotReport.GamePlayCount = "gamePlayCount"
FN.BotReport.GameRchGiftIncAmount = "gameRchGiftIncAmount"
FN.BotReport.GameRchGiftIncCount = "gameRchGiftIncCount"
FN.BotReport.GameRchgAmount = "gameRchgAmount"
FN.BotReport.GameRchgCount = "gameRchgCount"
FN.BotReport.GameRchgUsers = "gameRchgUsers"
FN.BotReport.GameVipGiftIncAmount = "gameVipGiftIncAmount"
FN.BotReport.GameVipGiftIncCount = "gameVipGiftIncCount"
FN.BotReport.GameWtdrAmount = "gameWtdrAmount"
FN.BotReport.GameWtdrCount = "gameWtdrCount"
FN.BotReport.GameWtdrRealAmount = "gameWtdrRealAmount"
FN.BotReport.HourAndroidNew = "hourAndroidNew"
FN.BotReport.HourAndroidNewRecharge = "hourAndroidNewRecharge"
FN.BotReport.HourAndroidRecharge = "hourAndroidRecharge"
FN.BotReport.HourDistrictRecharge = "hourDistrictRecharge"
FN.BotReport.HourDistrictVip = "hourDistrictVip"
FN.BotReport.HourH5New = "hourH5New"
FN.BotReport.HourH5NewRecharge = "HourH5NewRecharge"
FN.BotReport.HourH5Recharge = "HourH5Recharge"
FN.BotReport.HourIosNew = "hourIosNew"
FN.BotReport.HourIosNewRecharge = "hourIosNewRecharge"
FN.BotReport.HourIosRecharge = "hourIosRecharge"
FN.BotReport.HourNew = "hourNew"
FN.BotReport.HourNewDistrict = "hourNewDistrict"
FN.BotReport.HourNewNormal = "hourNewNormal"
FN.BotReport.HourNewRecharge = "hourNewRecharge"
FN.BotReport.HourNewWeb = "hourNewWeb"
FN.BotReport.HourNormalRecharge = "hourNormalRecharge"
FN.BotReport.HourNormalVip = "hourNormalVip"
FN.BotReport.HourOldRecharge = "hourOldRecharge"
FN.BotReport.HourOrder = "hourOrder"
FN.BotReport.HourRecharge = "hourRecharge"
FN.BotReport.HourSuccessOrder = "hourSuccessOrder"
FN.BotReport.HourVipRecharge = "hourVipRecharge"
FN.BotReport.HourWebRecharge = "hourWebRecharge"
FN.BotReport.HourWebVip = "hourWeVip"
FN.BotReport.ID = "_id"
FN.BotReport.Profit = "profit"
FN.BotReport.Revenue = "revenue"
FN.BotReport.SumDate = "sumDate"
FN.BotReport.TodayAccessH5 = "todayAccessH5"
FN.BotReport.TodayAndroidNew = "todayAndroidNew"
FN.BotReport.TodayAndroidNewRecharge = "todayAndroidNewRecharge"
FN.BotReport.TodayAndroidRecharge = "todayAndroidRecharge"
FN.BotReport.TodayDistrictRecharge = "todayDistrictRecharge"
FN.BotReport.TodayDistrictVip = "todayDistrictVip"
FN.BotReport.TodayH5New = "todayH5New"
FN.BotReport.TodayH5NewRecharge = "todayH5NewRecharge"
FN.BotReport.TodayH5Recharge = "todayH5Recharge"
FN.BotReport.TodayIosNew = "todayIosNew"
FN.BotReport.TodayIosNewRecharge = "todayIosNewRecharge"
FN.BotReport.TodayIosRecharge = "todayIosRecharge"
FN.BotReport.TodayNew = "todayNew"
FN.BotReport.TodayNewDistrict = "todayNewDistrict"
FN.BotReport.TodayNewNormal = "todayNewNormal"
FN.BotReport.TodayNewRecharge = "todayNewRecharge"
FN.BotReport.TodayNewWeb = "todayNewWeb"
FN.BotReport.TodayNormalRecharge = "todayNormalRecharge"
FN.BotReport.TodayNormalVip = "todayNormalVip"
FN.BotReport.TodayOldRecharge = "todayOldRecharge"
FN.BotReport.TodayOrder = "todayOrder"
FN.BotReport.TodayRecharge = "todayRecharge"
FN.BotReport.TodaySuccessOrder = "todaySuccessOrder"
FN.BotReport.TodayVipRecharge = "todayVipRecharge"
FN.BotReport.TodayWebRecharge = "todayWebRecharge"
FN.BotReport.TodayWebVip = "todayWebVip"
FN.BotReport.ValidBet = "validBet"
FN.BotReport.TodayAccessH5Pc = "todayAccessH5Pc"
FN.BotReport.TodayAccessH5Ios = "todayAccessH5Ios"
FN.BotReport.TodayAccessH5Android = "todayAccessH5Android"
FN.BotReport.TodayH5PcNew = "todayH5PcNew"
FN.BotReport.TodayH5IosNew = "todayH5IosNew"
FN.BotReport.TodayH5AndroidNew = "todayH5AndroidNew"
FN.BotReport.TodayH5PcRecharge = "todayH5PcRecharge"
FN.BotReport.TodayH5IosRecharge = "todayH5IosRecharge"
FN.BotReport.TodayH5AndroidRecharge = "todayH5AndroidRecharge"
FN.BotReport.TodayH5PcNewRecharge = "todayH5PcNewRecharge"
FN.BotReport.TodayH5IosNewRecharge = "todayH5IosNewRecharge"
FN.BotReport.TodayH5AndroidNewRecharge = "todayH5AndroidNewRecharge"
FN.BotReport.HourH5PcNew = "hourH5PcNew"
FN.BotReport.HourH5IosNew = "hourH5IosNew"
FN.BotReport.HourH5AndroidNew = "hourH5AndroidNew"
FN.BotReport.HourH5PcRecharge = "hourH5PcRecharge"
FN.BotReport.HourH5IosRecharge = "hourH5IosRecharge"
FN.BotReport.HourH5AndroidRecharge = "hourH5AndroidRecharge"
FN.BotReport.HourH5PcNewRecharge = "hourH5PcNewRecharge"
FN.BotReport.HourH5IosNewRecharge = "hourH5IosNewRecharge"
FN.BotReport.HourH5AndroidNewRecharge = "hourH5AndroidNewRecharge"
FN.BotReport.TodayAccessIos = "todayAccessIos"
FN.BotReport.TodayAccessAndroid = "todayAccessAndroid"
TN.BotReport = "bot_report"
}
+145
View File
@@ -0,0 +1,145 @@
package botreport
import (
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
// @table:bot_report
type BotReport struct {
ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"` // ID
AppId int32 `json:"appId" bson:"appId"` // appId,唯一id
SumDate time.Time `json:"sumDate" bson:"sumDate"` // 记录时间 按天对齐
TodayRecharge int64 `json:"todayRecharge" bson:"todayRecharge"` // 当日累计充值
HourRecharge int64 `json:"hourRecharge" bson:"hourRecharge"` // 单小时充值
AccessUser int64 `json:"accessUser" bson:"accessUser"` // 当日日活
TodayAccessDistrict int64 `json:"todayAccessDistrict" bson:"todayAccessDistrict"` // +当日渠道日活
TodayAccessIos int64 `json:"todayAccessIos" bson:"todayAccessIos"` // *当日IOS日活
TodayAccessAndroid int64 `json:"todayAccessAndroid" bson:"todayAccessAndroid"` // *当日Android日活
TodayAccessH5 int64 `json:"todayAccessH5" bson:"todayAccessH5"` // *当日H5日活
TodayAccessH5Pc int64 `json:"todayAccessH5Pc" bson:"todayAccessH5Pc"` // *当日H5PC日活
TodayAccessH5Ios int64 `json:"todayAccessH5Ios" bson:"todayAccessH5Ios"` // *当日H5IOS日活
TodayAccessH5Android int64 `json:"todayAccessH5Android" bson:"todayAccessH5Android"` // *当日H5Android日活
TodayAccessH5District int64 `json:"todayAccessH5District" bson:"todayAccessH5District"` // +当日H5渠道日活
TodayOrder int64 `json:"todayOrder" bson:"todayOrder"` // 当日订单数
TodaySuccessOrder int64 `json:"todaySuccessOrder" bson:"todaySuccessOrder"` // 当日成功订单数
HourOrder int64 `json:"hourOrder" bson:"hourOrder"` // 单小时订单数
HourSuccessOrder int64 `json:"hourSuccessOrder" bson:"hourSuccessOrder"` // 单小时成功单数
TodayNewDistrict int64 `json:"todayNewDistrict" bson:"todayNewDistrict"` // 当日渠道新增
TodayNewWeb int64 `json:"todayNewWeb" bson:"todayNewWeb"` // 当日官网新增
TodayNewNormal int64 `json:"todayNewNormal" bson:"todayNewNormal"` // 当日自来量(分享和官方)
TodayNew int64 `json:"todayNew" bson:"todayNew"` // 当日新增
TodayAndroidNew int64 `json:"todayAndroidNew" bson:"todayAndroidNew"` // 当日android新增
TodayIosNew int64 `json:"todayIosNew" bson:"todayIosNew"` // 当日Ios新增
TodayH5New int64 `json:"todayH5New" bson:"todayH5New"` // 当日H5新增
TodayH5PcNew int64 `json:"todayH5PcNew" bson:"todayH5PcNew"` // *当日H5PC新增
TodayH5IosNew int64 `json:"todayH5IosNew" bson:"todayH5IosNew"` // *当日H5IOS新增
TodayH5AndroidNew int64 `json:"todayH5AndroidNew" bson:"todayH5AndroidNew"` // *当日H5Android新增
TodayH5DistrictNew int64 `json:"todayH5DistrictNew" bson:"todayH5DistrictNew"` // +当日H5渠道新增
TodayDistrictRecharge int64 `json:"todayDistrictRecharge" bson:"todayDistrictRecharge"` // 当日渠道充值新增
TodayWebRecharge int64 `json:"todayWebRecharge" bson:"todayWebRecharge"` // 当日官网充值新增
TodayNormalRecharge int64 `json:"todayNormalRecharge" bson:"todayNormalRecharge"` // 当日自来量充值新增
TodayVipRecharge int64 `json:"todayVipRecharge" bson:"todayVipRecharge"` // 当日渠道充值新增
TodayAndroidRecharge int64 `json:"todayAndroidRecharge" bson:"todayAndroidRecharge"` // 当日android充值
TodayIosRecharge int64 `json:"todayIosRecharge" bson:"todayIosRecharge"` // 当日Ios充值
TodayH5Recharge int64 `json:"todayH5Recharge" bson:"todayH5Recharge"` // 当日H5充值
TodayH5PcRecharge int64 `json:"todayH5PcRecharge" bson:"todayH5PcRecharge"` // *当日H5PC充值
TodayH5IosRecharge int64 `json:"todayH5IosRecharge" bson:"todayH5IosRecharge"` // *当日H5IOS充值
TodayH5AndroidRecharge int64 `json:"todayH5AndroidRecharge" bson:"todayH5AndroidRecharge"` // *当日H5Android充值
TodayH5DistrictRecharge int64 `json:"todayH5DistrictRecharge" bson:"todayH5DistrictRecharge"` // +当日H5渠道充值
TodayNewRecharge int64 `json:"todayNewRecharge" bson:"todayNewRecharge"` // 当日新增充值
TodayIosNewRecharge int64 `json:"todayIosNewRecharge" bson:"todayIosNewRecharge"` // 当日Ios新增充值
TodayH5NewRecharge int64 `json:"todayH5NewRecharge" bson:"todayH5NewRecharge"` // 当日H5新增充值
TodayH5PcNewRecharge int64 `json:"todayH5PcNewRecharge" bson:"todayH5PcNewRecharge"` // *当日H5Pc新增充值
TodayH5IosNewRecharge int64 `json:"todayH5IosNewRecharge" bson:"todayH5IosNewRecharge"` // *当日H5Ios新增充值
TodayH5AndroidNewRecharge int64 `json:"todayH5AndroidNewRecharge" bson:"todayH5AndroidNewRecharge"` // *当日H5Android新增充值
TodayH5DistrictNewRecharge int64 `json:"todayH5DistrictNewRecharge" bson:"todayH5DistrictNewRecharge"` // +当日H5渠道新增充值
TodayAndroidNewRecharge int64 `json:"todayAndroidNewRecharge" bson:"todayAndroidNewRecharge"` // 当日android新增充值
TodayOldRecharge int64 `json:"todayOldRecharge" bson:"todayOldRecharge"` // 当日老用户充值
TodayDistrictVip int64 `json:"todayDistrictVip" bson:"todayDistrictVip"` // 单小时渠道VIP充值
TodayWebVip int64 `json:"todayWebVip" bson:"todayWebVip"` // 单小时官网VIP充值
TodayNormalVip int64 `json:"todayNormalVip" bson:"todayNormalVip"` // 单小时自来量充值新增
HourNewDistrict int64 `json:"hourNewDistrict" bson:"hourNewDistrict"` // 单小时渠道新增
HourNewWeb int64 `json:"hourNewWeb" bson:"hourNewWeb"` // 单小时官网新增
HourNewNormal int64 `json:"hourNewNormal" bson:"hourNewNormal"` // 单小时自来量(分享和官方)
HourNew int64 `json:"hourNew" bson:"hourNew"` // 单小时新增
HourAndroidNew int64 `json:"hourAndroidNew" bson:"hourAndroidNew"` // 单小时android新增
HourIosNew int64 `json:"hourIosNew" bson:"hourIosNew"` // 单小时Ios新增
HourH5New int64 `json:"hourH5New" bson:"hourH5New"` // 单小时H5新增
HourH5PcNew int64 `json:"hourH5PcNew" bson:"hourH5PcNew"` // *单小时H5Pc新增
HourH5IosNew int64 `json:"hourH5IosNew" bson:"hourH5IosNew"` // *单小时H5Ios新增
HourH5AndroidNew int64 `json:"hourH5AndroidNew" bson:"hourH5AndroidNew"` // *单小时H5Android新增
HourH5DistrictNew int64 `json:"hourH5DistrictNew" bson:"hourH5DistrictNew"` // +单小时H5渠道新增
HourDistrictRecharge int64 `json:"hourDistrictRecharge" bson:"hourDistrictRecharge"` // 单小时渠道充值新增
HourWebRecharge int64 `json:"hourWebRecharge" bson:"hourWebRecharge"` // 单小时官网充值新增
HourNormalRecharge int64 `json:"hourNormalRecharge" bson:"hourNormalRecharge"` // 单小时自来量充值新增
HourVipRecharge int64 `json:"hourVipRecharge" bson:"hourVipRecharge"` // 单小时VIP充值
HourDistrictVip int64 `json:"hourDistrictVip" bson:"hourDistrictVip"` // 单小时渠道VIP充值
HourWebVip int64 `json:"hourWebVip" bson:"hourWeVip"` // 单小时官网VIP充值
HourAndroidRecharge int64 `json:"hourAndroidRecharge" bson:"hourAndroidRecharge"` // 单小时android充值
HourIosRecharge int64 `json:"hourIosRecharge" bson:"hourIosRecharge"` // 单小时Ios充值
HourH5Recharge int64 `json:"HourH5Recharge" bson:"HourH5Recharge"` // 单小时H5充值
HourH5PcRecharge int64 `json:"hourH5PcRecharge" bson:"hourH5PcRecharge"` // *单小时H5Pc充值
HourH5IosRecharge int64 `json:"hourH5IosRecharge" bson:"hourH5IosRecharge"` // *单小时H5Ios充值
HourH5AndroidRecharge int64 `json:"hourH5AndroidRecharge" bson:"hourH5AndroidRecharge"` // *单小时H5Android充值
HourH5DistrictRecharge int64 `json:"hourH5DistrictRecharge" bson:"hourH5DistrictRecharge"` // +单小时H5渠道充值
HourNormalVip int64 `json:"hourNormalVip" bson:"hourNormalVip"` // 单小时自来量充值新增
HourNewRecharge int64 `json:"hourNewRecharge" bson:"hourNewRecharge"` // 单小时新增充值
HourIosNewRecharge int64 `json:"hourIosNewRecharge" bson:"hourIosNewRecharge"` // 单小时Ios新增充值
HourH5NewRecharge int64 `json:"HourH5NewRecharge" bson:"HourH5NewRecharge"` // 单小时H5新增充值
HourH5PcNewRecharge int64 `json:"hourH5PcNewRecharge" bson:"hourH5PcNewRecharge"` // *单小时H5Pc新增充值
HourH5IosNewRecharge int64 `json:"hourH5IosNewRecharge" bson:"hourH5IosNewRecharge"` // *单小时H5Ios新增充值
HourH5AndroidNewRecharge int64 `json:"hourH5AndroidNewRecharge" bson:"hourH5AndroidNewRecharge"` // *单小时H5Android新增充值
HourH5DistrictNewRecharge int64 `json:"hourH5DistrictNewRecharge" bson:"hourH5DistrictNewRecharge"` // +单小时H5渠道新增充值
HourAndroidNewRecharge int64 `json:"hourAndroidNewRecharge" bson:"hourAndroidNewRecharge"` // 单小时android新增充值
HourOldRecharge int64 `json:"hourOldRecharge" bson:"hourOldRecharge"` // 单小时用户充值
GameRchgAmount int64 `json:"gameRchgAmount" bson:"gameRchgAmount"` //充值总金额
GameDCRchgAmount int64 `json:"gameDCRchgAmount" bson:"gameDCRchgAmount"` //代充总金额
GameWtdrAmount int64 `json:"gameWtdrAmount" bson:"gameWtdrAmount"` //游戏提现总金额
GameWtdrRealAmount int64 `json:"gameWtdrRealAmount" bson:"gameWtdrRealAmount"` //游戏实际提现总金额
GameIncAmount int64 `json:"gameIncAmount" bson:"gameIncAmount"` //游戏上分总金额
GameDecAmount int64 `json:"gameDecAmount" bson:"gameDecAmount"` //游戏下分总金额
ValidBet int64 `json:"validBet" bson:"validBet"` //有效投注金额
Profit int64 `json:"profit" bson:"profit"` //系统盈利
GameRchgCount int64 `json:"gameRchgCount" bson:"gameRchgCount"`
//活跃人数
GamePlayCount int64 `json:"gamePlayCount" bson:"gamePlayCount"`
//游戏成功充值人数
GameRchgUsers int64 `json:"gameRchgUsers" bson:"gameRchgUsers"`
//游戏首次充值总金额
GameFirstRchgAmount int64 `json:"gameFirstRchgAmount" bson:"gameFirstRchgAmount"`
//游戏首次成功充值次数
GameFirstRchgCount int64 `json:"gameFirstRchgCount" bson:"gameFirstRchgCount"`
//游戏首次成功充值人数
GameFirstRchgUsers int64 `json:"gameFirstRchgUsers" bson:"gameFirstRchgUsers"`
//游戏成功代充次数
GameDCRchgCount int64 `json:"gameDCRchgCount" bson:"gameDCRchgCount"`
//游戏成功提现次数
GameWtdrCount int64 `json:"gameWtdrCount" bson:"gameWtdrCount"`
//游戏上分次数
GameInchCount int64 `json:"gameInchCount" bson:"gameInchCount"`
//游戏下分次数
GameDecCount int64 `json:"gameDecCount" bson:"gameDecCount"`
//游戏6元赠送总金额
GameGiftIncAmount int64 `json:"gameGiftIncAmount" bson:"gameGiftIncAmount"`
//游戏6元赠送次数
GameGiftIncCount int64 `json:"gameGiftIncCount" bson:"gameGiftIncCount"`
//游戏充值赠送总金额
GameRchGiftIncAmount int64 `json:"gameRchGiftIncAmount" bson:"gameRchGiftIncAmount"`
//游戏充值赠送次数
GameRchGiftIncCount int64 `json:"gameRchGiftIncCount" bson:"gameRchGiftIncCount"`
//游戏VIP赠送总金额
GameVipGiftIncAmount int64 `json:"gameVipGiftIncAmount" bson:"gameVipGiftIncAmount"`
//游戏VIP赠送次数
GameVipGiftIncCount int64 `json:"gameVipGiftIncCount" bson:"gameVipGiftIncCount"`
// 游戏抽水
Revenue int64 `json:"revenue" bson:"revenue"`
CreatedAt time.Time `bson:"createdAt"` // 创建时间
}
type BotReportList []*BotReport