@@ -0,0 +1,200 @@
|
||||
package wdordmod
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/pageopt"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
type Matcher = pageopt.Matcher
|
||||
|
||||
// StatusMatch
|
||||
type StatusMatch struct {
|
||||
Status *int
|
||||
}
|
||||
|
||||
func (s *StatusMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("status", s.Status)
|
||||
}
|
||||
|
||||
// UIDMatch
|
||||
type UIDMatch = pageopt.UIDMatch
|
||||
|
||||
// WithdrawTypeMatch
|
||||
type WithdrawTypeMatch struct {
|
||||
WithdrawTypes *WithdrawTypes
|
||||
}
|
||||
|
||||
func (w *WithdrawTypeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("withdrawType", w.WithdrawTypes)
|
||||
}
|
||||
|
||||
// WithdrawTypeNEMatch
|
||||
type WithdrawTypeNEMatch struct {
|
||||
WithdrawTypes *WithdrawTypes
|
||||
}
|
||||
|
||||
func (w *WithdrawTypeNEMatch) New() Matcher {
|
||||
return pageopt.NewNEMatch("withdrawType", w.WithdrawTypes)
|
||||
}
|
||||
|
||||
// PayTypeMatch
|
||||
type PayTypeMatch struct {
|
||||
PayType *string
|
||||
}
|
||||
|
||||
func (w *PayTypeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("payType", w.PayType)
|
||||
}
|
||||
|
||||
// IDMatch
|
||||
type IDMatch struct {
|
||||
ID *primitive.ObjectID
|
||||
}
|
||||
|
||||
func (s *IDMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("_id", s.ID)
|
||||
}
|
||||
|
||||
// DistrictCodeMatch
|
||||
type DistrictCodeMatch struct {
|
||||
DistrictCode *string
|
||||
}
|
||||
|
||||
func (d *DistrictCodeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("districtCode", d.DistrictCode)
|
||||
}
|
||||
|
||||
// PromSeqeMatch
|
||||
type PromSeqeMatch struct {
|
||||
PromSeqe *string
|
||||
}
|
||||
|
||||
func (s *PromSeqeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("promSeqe", s.PromSeqe)
|
||||
}
|
||||
|
||||
// CheckedAtGTEAndLTMatch 审核时间
|
||||
type CheckedAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (c *CheckedAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("checkedAt", c.GTE, c.LT)
|
||||
}
|
||||
|
||||
// ProgressAtGTEAndLTMatch 第三方下单成功时间
|
||||
type ProgressAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (p *ProgressAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("progressAt", p.GTE, p.LT)
|
||||
}
|
||||
|
||||
// FailureAtGTEAndLTMatch 回调失败时间
|
||||
type FailureAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (f *FailureAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("failureAt", f.GTE, f.LT)
|
||||
}
|
||||
|
||||
// SuccessAtGTEAndLTMatch 回调成功时间
|
||||
type SuccessAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (s *SuccessAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("successAt", s.GTE, s.LT)
|
||||
}
|
||||
|
||||
// CreatedAtGTEAndLTMatch 提现申请时间
|
||||
type CreatedAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (c *CreatedAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("createdAt", c.GTE, c.LT)
|
||||
}
|
||||
|
||||
// ReceivedAtGTEAndLTMatch 到账时间 李秋山确认 三方出款时间
|
||||
type ReceivedAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (r *ReceivedAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("receivedAt", r.GTE, r.LT)
|
||||
}
|
||||
|
||||
// IsDirectMatch
|
||||
type IsDirectMatch struct {
|
||||
IsDirect *bool
|
||||
}
|
||||
|
||||
func (b *IsDirectMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("isDirect", b.IsDirect)
|
||||
}
|
||||
|
||||
// DeviceTypeMatch
|
||||
type DeviceTypeMatch struct {
|
||||
DeviceType *string
|
||||
}
|
||||
|
||||
func (d *DeviceTypeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("deviceType", d.DeviceType)
|
||||
}
|
||||
|
||||
type Sort = bson.D
|
||||
|
||||
var Sort_CreatedAt_n1 = Sort{{Key: "createdAt", Value: -1}}
|
||||
|
||||
func List(sort Sort, skip, limit *int64, matchers ...Matcher) ([]WithdrawOrder, error) {
|
||||
filter := pageopt.MergeM(matchers)
|
||||
opt := (&options.FindOptions{})
|
||||
if len(sort) != 0 {
|
||||
opt.SetSort(sort)
|
||||
}
|
||||
if skip != nil {
|
||||
opt.SetSkip(*skip)
|
||||
}
|
||||
if limit != nil {
|
||||
opt.SetLimit(*limit)
|
||||
}
|
||||
list := []WithdrawOrder{}
|
||||
if err := coll(nil).Find(&list, filter, opt); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "List", table, "Find", err),
|
||||
log.Any("sort", sort),
|
||||
log.Any("skip", skip),
|
||||
log.Any("limit", limit),
|
||||
log.Any("matchers", matchers),
|
||||
)
|
||||
return nil, err
|
||||
}
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func Count(matchers ...Matcher) (int64, error) {
|
||||
filter := pageopt.MergeM(matchers)
|
||||
count, err := coll(nil).Count(filter)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "Count", table, "Count", err),
|
||||
log.Any("matchers", matchers),
|
||||
)
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
Reference in New Issue
Block a user