forked from all_user/stat_center
94 lines
3.3 KiB
Go
94 lines
3.3 KiB
Go
package model
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"stat/common/log"
|
|
"stat/common/mongos"
|
|
"stat/common/utils"
|
|
"time"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
type DspRecharge struct {
|
|
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"` //流水id
|
|
UID uint64 `json:"uid" bson:"uid"` //用户id
|
|
DevType string `json:"devType" bson:"devType"` //设备系统类型 ios pc android
|
|
Channel string `json:"channel" bson:"channel"` //渠道类型 鲨鱼 金鱼
|
|
OID string `json:"oid" bson:"oid"` //支付平台订单号
|
|
WithdrawType string `json:"WithdrawType" bson:"WithdrawType"` //充值类型
|
|
Money int64 `json:"money" bson:"money"` //充值金额 订单金额 李秋山确认
|
|
PayMoney int64 `json:"payMoney" bson:"payMoney"` //实际到账金额 用户实际支付金额 李秋山确认
|
|
Status int `json:"status" bson:"status"` //1进行中 2付款失败 3付款成功 4已经退款
|
|
SuccessAt time.Time `json:"successAt" bson:"successAt"` //回调成功时间
|
|
CreatedAt time.Time `json:"createdAt" bson:"createdAt"` //创建时间
|
|
IsDirect bool `json:"isDirect" bson:"isDirect"` //true:是直推用户
|
|
DistrictCode string `json:"districtCode" bson:"districtCode"` //商区码
|
|
}
|
|
|
|
const CollRecharge = "recharge_order"
|
|
|
|
var dbRecharge *mongos.MongoTool
|
|
|
|
func RechargeInit() {
|
|
dbRecharge = mongos.New(ManagerDsp, CollRecharge)
|
|
}
|
|
|
|
// FindDspRecharge 查询用户
|
|
func FindDspRecharge(ctx context.Context, skip int64, limit int64) ([]DspRecharge, error) {
|
|
list := make([]DspRecharge, 0)
|
|
|
|
beginTimeStr := "2020-07-01T00:00:00-08:00"
|
|
|
|
beginTime := utils.StrTimeToTime(beginTimeStr)
|
|
query := bson.M{"successAt": bson.M{"$gt": beginTime}}
|
|
|
|
sort := bson.D{{Key: "successAt", Value: 1}}
|
|
opts := options.Find().SetSkip(skip).SetLimit(limit).SetSort(sort)
|
|
|
|
if err := dbRecharge.Find(ctx, &list, query, opts); err != nil {
|
|
log.Error(fmt.Sprintf("model %s FindDspRecharge Find error", CollDistrict), log.E(err))
|
|
return list, err
|
|
}
|
|
|
|
return list, nil
|
|
}
|
|
|
|
func FindDspRechargeCount(ctx context.Context) (count int64, err error) {
|
|
|
|
beginTimeStr := "2020-07-01T00:00:00-08:00"
|
|
|
|
beginTime := utils.StrTimeToTime(beginTimeStr)
|
|
query := bson.M{"successAt": bson.M{"$gt": beginTime}}
|
|
|
|
count, err = dbRecharge.Count(ctx, query)
|
|
if err != nil {
|
|
log.Error(fmt.Sprintf("model %s FindDspRecharge Find error", CollDistrict), log.E(err))
|
|
return count, err
|
|
}
|
|
|
|
return count, nil
|
|
}
|
|
|
|
// FindDspDistrictRecharge
|
|
func FindDspDistrictRecharge(ctx context.Context, district string) ([]DspRecharge, error) {
|
|
list := make([]DspRecharge, 0)
|
|
|
|
beginTimeStr := "2020-10-01T00:00:00-08:00"
|
|
|
|
beginTime := utils.StrTimeToTime(beginTimeStr)
|
|
query := bson.M{"successAt": bson.M{"$gt": beginTime}, "districtCode": district}
|
|
|
|
if err := dbRecharge.Find(ctx, &list, query); err != nil {
|
|
log.Error(fmt.Sprintf("model %s FindDspDistrictRecharge Find error", CollDistrict), log.E(err))
|
|
return list, err
|
|
}
|
|
|
|
return list, nil
|
|
}
|
|
|
|
//
|