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
+128
View File
@@ -0,0 +1,128 @@
package syncrecharge
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.SyncRechargeOrder)
// 初始化索引
indexes := []mongo.IndexModel{
{
Keys: bson.D{
{Key: FN.SyncRechargeOrder.UserId, Value: 1},
{Key: FN.SyncRechargeOrder.AppId, Value: 1},
},
},
}
if _, err := db.CreateIndex(ctx, indexes); err != nil {
panic(fmt.Sprintf("(SyncRechargeOrder:initSyncRechargeOrderIndex) Create SyncRechargeOrder Index failed! err:%+v:", err))
}
}
//InsertOneSyncRechargeOrder 插入一个媒体
func InsertOneSyncRechargeOrder(ctx context.Context, SyncRechargeOrder *SyncRechargeOrder) error {
if _, err := db.InsertOne(ctx, SyncRechargeOrder); err != nil {
log.Warn("SyncRechargeOrder:InsertOneSyncRechargeOrder db.InsertOne failed", log.E(err))
return err
}
return nil
}
//FindOneSyncRechargeOrder 查找一个媒体
func FindOneSyncRechargeOrder(ctx context.Context, filter bson.M) (
*SyncRechargeOrder, error) {
var SyncRechargeOrder SyncRechargeOrder
if err := db.FindOne(ctx, &SyncRechargeOrder, filter); err != nil {
return nil, err
}
return &SyncRechargeOrder, nil
}
//DelOneSyncRechargeOrder 删除一个媒体
func DelOneSyncRechargeOrder(ctx context.Context, filter bson.M) (
int64, error) {
count, err := db.DeleteOne(ctx, filter)
if err != nil {
log.Warn("SyncRechargeOrder:DelOneSyncRechargeOrder db.DeleteOne failed",
log.E(err), log.Any("filter", filter))
return 0, err
}
return count, nil
}
//UpdateOneSyncRechargeOrder 更新一个媒体
func UpdateOneSyncRechargeOrder(ctx context.Context, filter bson.M, update bson.M) error {
_, err := db.UpdateOne(ctx, filter, update)
if err != nil {
log.Warn("user:UpdateOneSyncRechargeOrder db.UpdateOne failed",
log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//CountSyncRechargeOrders 统计媒体数量
func CountSyncRechargeOrders(ctx context.Context, filter bson.M) (
int64, error) {
count, err := db.Count(ctx, filter)
if err != nil {
log.Warn("SyncRechargeOrder:CountSyncRechargeOrders db.Count failed",
log.E(err), log.Any("filter", filter))
return 0, err
}
return count, nil
}
//UpdateManySyncRechargeOrder 更新满足条件的媒体
func UpdateManySyncRechargeOrder(ctx context.Context, filter bson.M, update bson.M) error {
_, err := db.UpdateMany(ctx, filter, update)
if err != nil {
log.Warn("user:UpdateManySyncRechargeOrder db.UpdateMany failed",
log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//FindManySyncRechargeOrder 查找一批媒体数据
func FindManySyncRechargeOrder(ctx context.Context, filter bson.M,
opts ...*options.FindOptions) (SyncRechargeOrderList, error) {
data := make(SyncRechargeOrderList, 0)
if err := db.Find(ctx, &data, filter, opts...); err != nil {
log.Warn("SyncRechargeOrder:FindManySyncRechargeOrder db.Find failed", log.E(err), log.Any("filter", filter))
return nil, err
}
return data, nil
}
//FindManySyncRechargeOrderWithBind 用自己定义结构查找一批媒体数据
func FindManySyncRechargeOrderWithBind(ctx context.Context, bind interface{}, filter bson.M,
opts ...*options.FindOptions) error {
if err := db.Find(ctx, bind, filter, opts...); err != nil {
log.Warn("SyncRechargeOrder:FindManySyncRechargeOrderWithBind db.Find failed", log.E(err), log.Any("filter", filter))
return err
}
return nil
}
//AggregateSyncRechargeOrders 聚合查找一批媒体信息
func AggregateSyncRechargeOrders(ctx context.Context,
bind interface{}, pipeline []bson.M) error {
if err := db.Aggregate(ctx, bind, pipeline); err != nil {
log.Warn("feedback:AggregateSyncRechargeOrders db.Aggregate failed",
log.E(err), log.Any("pipeline", pipeline))
return err
}
return nil
}
+58
View File
@@ -0,0 +1,58 @@
package syncrecharge
type TagSyncRechargeOrder struct {
AppId string
BlocDeduction string
CID string
ChannelName string
CreatedAt string
DevType string
DistrictCode string
ID string
IsDirect string
Money string
OrderId string
PayMoney string
PlatformId string
PromCode string
Rate string
RegisterTime string
Status string
SuccessAt string
SysType string
Type string
UserId string
}
var FN struct {
SyncRechargeOrder TagSyncRechargeOrder
}
var TN struct {
SyncRechargeOrder string
}
func init() {
FN.SyncRechargeOrder.AppId = "appId"
FN.SyncRechargeOrder.BlocDeduction = "blocDeduction"
FN.SyncRechargeOrder.CID = "cid"
FN.SyncRechargeOrder.ChannelName = "channelName"
FN.SyncRechargeOrder.CreatedAt = "createdAt"
FN.SyncRechargeOrder.DevType = "devType"
FN.SyncRechargeOrder.DistrictCode = "districtCode"
FN.SyncRechargeOrder.ID = "_id"
FN.SyncRechargeOrder.IsDirect = "isDirect"
FN.SyncRechargeOrder.Money = "money"
FN.SyncRechargeOrder.OrderId = "orderId"
FN.SyncRechargeOrder.PayMoney = "payMoney"
FN.SyncRechargeOrder.PlatformId = "platformId"
FN.SyncRechargeOrder.PromCode = "promCode"
FN.SyncRechargeOrder.Rate = "rate"
FN.SyncRechargeOrder.RegisterTime = "registerTime"
FN.SyncRechargeOrder.Status = "status"
FN.SyncRechargeOrder.SuccessAt = "successAt"
FN.SyncRechargeOrder.SysType = "sysType"
FN.SyncRechargeOrder.Type = "type"
FN.SyncRechargeOrder.UserId = "userId"
TN.SyncRechargeOrder = "sync_rechagre"
}
+35
View File
@@ -0,0 +1,35 @@
package syncrecharge
import (
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
// 帖子模型,数据库中的
// @table:sync_rechagre
type SyncRechargeOrder struct {
ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"` // ID
PlatformId string `json:"platformId" bson:"platformId"` // 原始平台订单Id
UserId uint64 `json:"userId" bson:"userId"` // 用户ID
AppId int32 `json:"appId" bson:"appId"` // appID
SysType string `json:"sysType" bson:"sysType"` // 操作系统类型 安卓 IOS
DevType string `json:"devType" bson:"devType"` // 设备类型
ChannelName string `json:"channelName" bson:"channelName"` // 支付渠道名字
CID string `json:"cid" bson:"cid"` // 渠道id
Type string `bson:"type" json:"type"` // 充值方式
OrderId string `json:"orderId" bson:"orderId"` // 流水id
Money int64 `json:"money" bson:"money"` // 充值金额 订单金额
PayMoney int64 `json:"payMoney" bson:"payMoney"` // 实际到账金额 用户实际支付金额
Status int `json:"status" bson:"status"` // 2付款失败 3付款成功
SuccessAt time.Time `json:"successAt,omitempty" bson:"successAt,omitempty"` // 成功时间
BlocDeduction bool `json:"blocDeduction" bson:"blocDeduction"` // 集团扣量(特定渠道扣量)
PromCode string `json:"promCode,omitempty" bson:"promCode"` // 用户推广序列
RegisterTime time.Time `json:"registerTime,omitempty" bson:"registerTime"` // 操作时间
IsDirect bool `json:"isDirect" bson:"isDirect"` // true:是直推用户
IsFormalUser bool `json:"isFormalUser" bson:"isFormalUser"` // 是否正式用户
DistrictCode string `json:"districtCode" bson:"districtCode"` // 渠道码
Rate string `json:"rate" bson:"rate"` // 渠道费率
CreatedAt time.Time `bson:"createdAt"` // 创建时间
}
type SyncRechargeOrderList []*SyncRechargeOrder