56 lines
2.1 KiB
Go
56 lines
2.1 KiB
Go
package prdcthsomod
|
|
|
|
import (
|
|
"91porn-server/models/commod"
|
|
"time"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
// PaymentLogBody 商品交易订单请求参数
|
|
type PaymentLogBody struct {
|
|
ProductID primitive.ObjectID `bson:"productID" json:"productID" binding:"required" ` //产品id
|
|
Name string `bson:"name" json:"name" binding:"required" ` //商品名字
|
|
Amount int64 `bson:"amount" json:"amount" binding:"required"` //成交价格
|
|
ProductType int `bson:"productType" json:"productType"` //产品类型
|
|
}
|
|
|
|
// ProductHistoryQueryReq 通用查询参数
|
|
type ProductHistoryQueryReq struct {
|
|
UID *uint64 `form:"uid" json:"uid,omitempty" bson:"uid"` // 用户id
|
|
ProductType *commod.ProductType `form:"productType" json:"productType" ` // 产品类型 // 0-会员卡 21-预售卡
|
|
AdvanceOrderStatus *int `form:"advanceOrderStatus" json:"advanceOrderStatus"` // 预售订单状态 // 2-预付成功 4-尾款支付成功
|
|
Start *time.Time `form:"start" json:"start"` // 开始时间
|
|
End *time.Time `form:"end" json:"end"` // 结束时间
|
|
commod.Page
|
|
}
|
|
|
|
type ProductHistoryQueryResp struct {
|
|
Total int64 `json:"total"`
|
|
List []*ProductHistory `json:"list"`
|
|
}
|
|
|
|
func (req *ProductHistoryQueryReq) GetCond() bson.M {
|
|
cond := bson.M{}
|
|
if req.UID != nil {
|
|
cond["uid"] = *req.UID
|
|
}
|
|
if req.ProductType != nil {
|
|
cond["productType"] = *req.ProductType
|
|
}
|
|
if req.AdvanceOrderStatus != nil {
|
|
cond["advanceOrderStatus"] = *req.AdvanceOrderStatus
|
|
}
|
|
if req.Start != nil && req.End != nil {
|
|
cond["createdAt"] = bson.M{"$gte": req.Start, "$lt": req.End}
|
|
}
|
|
return cond
|
|
}
|
|
|
|
func (req *ProductHistoryQueryReq) GetOpt() *options.FindOptions {
|
|
opt := options.Find().SetSkip(req.Skip64()).SetLimit(req.Limit64()).SetSort(bson.D{{Key: "createdAt", Value: -1}})
|
|
return opt
|
|
}
|