package pay

import (
	"time"

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

type Point struct {
	Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	// 支付目标项目名 queenshow
	Project     string `bson:"project,omitempty" json:"project,omitempty"`
	ProductName string `bson:"productName,omitempty" json:"productName,omitempty"`
	ProductKey  string `bson:"productKey,omitempty" json:"productKey,omitempty"`
	// 0 basic 1 plus 2 plus+
	// Level *int32 `bson:"level,omitempty" json:"level,omitempty"`
	// 支付项目包含的服务
	// Rules []*PayRules `bson:"rules,omitempty" json:"rules,omitempty"`
	// 支持的支付类型 alipay wechatpay other
	PayMethods []*PayMethod `bson:"payMethods,omitempty" json:"payMethods,omitempty"`
	// 价格 支付宝整数代表元 微信整数代表分 业务代码中转换，数据为int32, 如果32.15 price == 3215
	// 同一为正常数 比如32.15元，支付模块根据不同不同的第三方支付规则进行适配
	Price *float64 `bson:"price,omitempty" json:"price,omitempty"`
	// 排序
	// Sort *int32 `bson:"sort,omitempty" json:"sort,omitempty"`
	// 备注
	// Remark     string    `bson:"remark,omitempty" json:"remark,omitempty"`
	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
	UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime,omitempty"`
}

//	type PayRules struct {
//		Key   string
//		Value string
//	}
type PayMethod struct {
	Key   string // alipay wechatpay
	Value *int32 // 0 支付宝支付 1 微信支付
}

type PointAmountReq struct {
	// PointId    primitive.ObjectID `bson:"pointId,omitempty" json:"pointId,omitempty"`
	ProductKey string `bson:"productKey,omitempty" json:"productKey,omitempty"`
	// 购买数量
	Quantity *int32 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	// 团购人数
	Number *int32 `bson:"number,omitempty" json:"number,omitempty"`
}
