forked from all_user/stat_center
Initial commit
This commit is contained in:
@@ -0,0 +1,255 @@
|
||||
package rechargemod
|
||||
|
||||
import (
|
||||
"context"
|
||||
"stat/common/log"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
// DirectRechargeAmount 获取直推充值金额
|
||||
func DirectRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "isDirect": true, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// FissionRechargeAmount 获取裂变充值金额
|
||||
func FissionRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "isDirect": false, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// DeductionRechargeAmount 获取扣量值金额
|
||||
func DeductionRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// TotalRechargeAmount 获取总充值金额
|
||||
func TotalRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// TotalDistricRechargeAmount 获取渠道总充值金额
|
||||
func TotalDistricRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (result []RechargeMod, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "status": 3}
|
||||
result = make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// TotalRechargeListV1 获取渠道总充值金额
|
||||
func TotalRechargeListV1(ctx context.Context, appid int32, start, end time.Time) (result []*RechargeMod, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "status": 3}
|
||||
result = make([]*RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// BlocTotalDistricRechargeAmount 获取渠道总充值金额
|
||||
func BlocTotalDistricRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (result []RechargeMod, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "status": 3}
|
||||
result = make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetDaichongAmout 获取直推充值金额
|
||||
func GetDaichongAmout(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "channelName": "daichong"}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetDaichongAmout 获取直推充值金额
|
||||
func BlocGetDaichongAmout(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "channelName": "daichong"}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetOnlineAmount 获取直推充值金额
|
||||
func GetOnlineAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// BlocGetOnlineAmount 获取直推充值金额
|
||||
func BlocGetOnlineAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "channelName": bson.M{"$ne": "daichong"}}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// BlocDirectRechargeAmount 获取直推充值金额
|
||||
func BlocDirectRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "isDirect": true, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// BlocFissionRechargeAmount 获取裂变充值金额
|
||||
func BlocFissionRechargeAmount(ctx context.Context, appid int32, start, end time.Time) (count int64, money int64, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "isDirect": false, "status": 3}
|
||||
result := make([]RechargeMod, 0)
|
||||
|
||||
err = db.Find(ctx, &result, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
count = int64(len(result))
|
||||
for _, v := range result {
|
||||
money += v.PayMoney
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// FissionRechargeAmount 获取裂变充值金额
|
||||
func FissionRechargeList(ctx context.Context, appid int32, start, end time.Time) (data []RechargeMod, err error) {
|
||||
|
||||
query := bson.M{"appId": appid, "successAt": bson.M{"$gte": start, "$lt": end}, "isDirect": false, "status": 3}
|
||||
|
||||
err = db.Find(ctx, &data, query)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// FindManyRechargeInfo 查找一批信息数据
|
||||
func FindManyRechargeInfo(ctx context.Context, filter bson.M, opts ...*options.FindOptions) (RechargeInfoList, error) {
|
||||
data := make(RechargeInfoList, 0)
|
||||
if err := db.Find(ctx, &data, filter, opts...); err != nil {
|
||||
log.Warn("FindManyRechargeInfo dbChannel.Find failed", log.E(err), log.Any("filter", filter))
|
||||
return nil, err
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
Reference in New Issue
Block a user