package pay

import (
	"time"

	"go.mongodb.org/mongo-driver/bson/primitive"
)

type Order struct {
	Id         primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	PointId    primitive.ObjectID `bson:"pointId,omitempty" json:"pointId,omitempty"`
	ProductKey string             `bson:"productKey,omitempty" json:"productKey,omitempty"`
	// 购买人
	UserId primitive.ObjectID `bson:"UserId,omitempty" json:"UserId,omitempty"`
	// 支付方式 0 支付宝 1微信
	PayMod *int32 `bson:"payMod,omitempty" json:"payMod,omitempty"`
	// 购买数量
	Quantity *int32 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	// 购买人数
	Number *int32   `bson:"number,omitempty" json:"number,omitempty"`
	Price  *float64 `bson:"price,omitempty" json:"price,omitempty"`
	Amount *float64 `bson:"amount,omitempty" json:"amount,omitempty"`

	// 优惠后的真实价格
	RealPrice  *float64 `bson:"realPrice,omitempty" json:"realPrice,omitempty"`
	RealAmount *float64 `bson:"realAmount,omitempty" json:"realAmount,omitempty"`
	// 订单状态
	Status     *int32    `bson:"status,omitempty" json:"status,omitempty"`
	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
	UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime,omitempty"`
}

type OrderMsg struct {
	// orderId
	Id   primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	Name string             `bson:"name,omitempty" json:"name,omitempty"`
	// 购买数量
	Quantity *int32 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	// 购买人数
	Number *int32 `bson:"number,omitempty" json:"number,omitempty"`
	// 金额
	Amount *float64 `bson:"amount,omitempty" json:"amount,omitempty"`
	// 支付方式 0支付宝 1微信
	PayMod *int32 `bson:"payMode,omitempty" json:"payMode,omitempty"`
	// 订单超时,通知微信支付宝关闭订单
	ExpireTime time.Time `bson:"expireTime,omitempty" json:"expireTime,omitempty"`
	// 来源 queenshow
	Project string `bson:"project,omitempty" json:"project,omitempty"`
	Os      string `bson:"os,omitempty" json:"os,omitempty"`
	Ip      string `bson:"ip,omitempty" json:"ip,omitempty"`
}