@@ -0,0 +1,49 @@
|
||||
package advanceordermod
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
type QueryAllCond struct {
|
||||
Page int64 `form:"pageNumber" json:"pageNumber" binding:"required"` // 查询页码
|
||||
Limit int64 `form:"pageSize" json:"pageSize" binding:"required"` // 页码大小
|
||||
AdvOid *string `form:"advOid" json:"advOid" bson:"advOid"` // 预付订单号
|
||||
BalOid *string `form:"balOid" json:"balOid" bson:"balOid"` // 尾款订单号
|
||||
Uid *int `form:"uid" json:"uid" bson:"uid"` // 用户ID
|
||||
Status *int `form:"status" json:"status" bson:"status"` // 预售订单状态
|
||||
TimeField string `form:"timeField" json:"timeField"` // 时间筛选字段 createdAt 创建时间 endTime 预售尾款结束时间
|
||||
Start *time.Time `form:"start" json:"start"` // 开始时间
|
||||
End *time.Time `form:"end" json:"end"` // 结束时间
|
||||
}
|
||||
|
||||
type QueryAllRes struct {
|
||||
List []*AdvanceOrder `json:"list"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
|
||||
func (receiver *QueryAllCond) Filter() bson.M {
|
||||
var query = bson.M{}
|
||||
if receiver.Uid != nil {
|
||||
query["uid"] = receiver.Uid
|
||||
}
|
||||
if receiver.Status != nil {
|
||||
query["status"] = receiver.Status
|
||||
}
|
||||
if receiver.AdvOid != nil {
|
||||
query["advOid"] = receiver.AdvOid
|
||||
}
|
||||
if receiver.BalOid != nil {
|
||||
query["balOid"] = receiver.BalOid
|
||||
}
|
||||
if receiver.TimeField != "" && receiver.Start != nil && receiver.End != nil {
|
||||
query[receiver.TimeField] = bson.M{"$gte": receiver.Start, "$lt": receiver.End}
|
||||
}
|
||||
return query
|
||||
}
|
||||
|
||||
func (receiver QueryAllCond) Options() *options.FindOptions {
|
||||
return options.Find().SetSkip((receiver.Page - 1) * receiver.Limit).SetLimit(receiver.Limit).SetSort(bson.M{"createdAt": -1})
|
||||
}
|
||||
Reference in New Issue
Block a user