@@ -0,0 +1,204 @@
|
||||
package rchgordmod
|
||||
|
||||
import (
|
||||
"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
|
||||
|
||||
// ChannelMatch
|
||||
type ChannelMatch struct {
|
||||
Channel *string
|
||||
}
|
||||
|
||||
func (c *ChannelMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("channel", c.Channel)
|
||||
}
|
||||
|
||||
// StatusMatch
|
||||
type StatusMatch struct {
|
||||
Status *int
|
||||
}
|
||||
|
||||
func (s *StatusMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("status", s.Status)
|
||||
}
|
||||
|
||||
// IDMatch
|
||||
type IDMatch = pageopt.IDMatch
|
||||
|
||||
// UIDMatch
|
||||
type UIDMatch = pageopt.UIDMatch
|
||||
|
||||
// UIDInMatch
|
||||
type UIDInMatch = pageopt.UIDInMatch
|
||||
|
||||
// RechargeTypeMatch
|
||||
type RechargeTypeMatch struct {
|
||||
RechargeType *string
|
||||
}
|
||||
|
||||
func (s *RechargeTypeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("rechargeType", s.RechargeType)
|
||||
}
|
||||
|
||||
// RechargeTypeINMatch
|
||||
type RechargeTypeINMatch struct {
|
||||
RechargeTypes []RechType
|
||||
}
|
||||
|
||||
func (s *RechargeTypeINMatch) New() Matcher {
|
||||
return pageopt.NewInMatch("rechargeType", s.RechargeTypes)
|
||||
}
|
||||
|
||||
// DistrictCodeMatch
|
||||
type DistrictCodeMatch struct {
|
||||
DistrictCode *string
|
||||
}
|
||||
|
||||
func (s *DistrictCodeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("districtCode", s.DistrictCode)
|
||||
}
|
||||
|
||||
// PromSeqeMatch
|
||||
type PromSeqeMatch struct {
|
||||
PromSeqe *string
|
||||
}
|
||||
|
||||
func (s *PromSeqeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("promSeqe", s.PromSeqe)
|
||||
}
|
||||
|
||||
// IsDirectMatch
|
||||
type IsDirectMatch struct {
|
||||
IsDirect *bool
|
||||
}
|
||||
|
||||
func (b *IsDirectMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("isDirect", b.IsDirect)
|
||||
}
|
||||
|
||||
type DevTypeMatch struct {
|
||||
DevType *string
|
||||
}
|
||||
|
||||
func (d *DevTypeMatch) New() Matcher {
|
||||
return pageopt.NewAssignMatch("devType", d.DevType)
|
||||
}
|
||||
|
||||
// StatusInMatch
|
||||
type StatusInMatch struct {
|
||||
Status []int
|
||||
}
|
||||
|
||||
func (d *StatusInMatch) New() Matcher {
|
||||
return pageopt.NewInMatch("status", d.Status)
|
||||
}
|
||||
|
||||
// NotifyStatusMatch
|
||||
type NotifyStatusMatch struct {
|
||||
NotifyStatus []int
|
||||
}
|
||||
|
||||
func (d *NotifyStatusMatch) New() Matcher {
|
||||
return pageopt.NewInMatch("notifyStatus", d.NotifyStatus)
|
||||
}
|
||||
|
||||
// ProgressAtGTEAndLTMatch
|
||||
type ProgressAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (s *ProgressAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("progressAt", s.GTE, s.LT)
|
||||
}
|
||||
|
||||
// FailureAtGTEAndLTMatch
|
||||
type FailureAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (s *FailureAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("failureAt", s.GTE, s.LT)
|
||||
}
|
||||
|
||||
// SuccessAtGTEAndLTMatch
|
||||
type SuccessAtGTEAndLTMatch struct {
|
||||
GTE *time.Time
|
||||
LT *time.Time
|
||||
}
|
||||
|
||||
func (s *SuccessAtGTEAndLTMatch) New() Matcher {
|
||||
return pageopt.NewGTEAndLTMatch("successAt", s.GTE, s.LT)
|
||||
}
|
||||
|
||||
//PaymentAtGTEAndLTMatch
|
||||
//type PaymentAtGTEAndLTMatch struct {
|
||||
// GTE *time.Time
|
||||
// LT *time.Time
|
||||
//}
|
||||
//
|
||||
//func (s *PaymentAtGTEAndLTMatch) New() Matcher {
|
||||
// return pageopt.NewGTEAndLTMatch("paymentAt", s.GTE, s.LT)
|
||||
//}
|
||||
|
||||
// CreatedAtGTEAndLTMatch
|
||||
type CreatedAtGTEAndLTMatch = pageopt.CreatedAtGTEAndLTMatch
|
||||
|
||||
// CreatedAtLTMatch
|
||||
type CreatedAtLTMatch = pageopt.CreatedAtLTMatch
|
||||
|
||||
type Sort = bson.D
|
||||
|
||||
type M = bson.M
|
||||
|
||||
var Sort_CreatedAt_n1 = Sort{{Key: "createdAt", Value: -1}}
|
||||
|
||||
type RechargeOrderSlice []*RechargeOrder
|
||||
|
||||
func (this RechargeOrderSlice) Map() map[primitive.ObjectID]*RechargeOrder {
|
||||
m := map[primitive.ObjectID]*RechargeOrder{}
|
||||
for _, v := range this {
|
||||
m[v.ID] = v
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
func List(sort Sort, skip, limit *int64, matchers ...Matcher) (RechargeOrderSlice, 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 := RechargeOrderSlice{}
|
||||
if err := coll(nil).Find(&list, filter, opt); err != nil {
|
||||
log.Error("rchgordmod List error", log.E(err))
|
||||
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("rchgordmod Count error", log.E(err))
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
Reference in New Issue
Block a user