package bo

import (
	"time"
	"voucher/internal/biz/vo"
)

// OrderBo 领域实体Bo结构，字段和模型字段保持一致
type OrderBo struct {
	ID                 uint64
	OrderNo            string
	OutBizNo           string
	VoucherNo          string
	ProductNo          string
	BatchNo            string
	ActivityId         string
	Account            string
	Type               vo.OrderType
	AccountType        vo.OrderAccountType
	Status             vo.OrderStatus
	AppID              string
	MerchantNo         string
	NotifyUrl          string
	Channel            vo.Channel
	Attach             string
	Remark             string
	TransactionId      string
	ReceiveSuccessTime *time.Time
	LastUseTime        *time.Time
	CreateTime         *time.Time
	UpdateTime         *time.Time
}

type OrderCreateReqBo struct {
	OutBizNo    string
	ProductNo   string
	Account     string
	AppID       string
	Type        vo.OrderType
	AccountType vo.OrderAccountType
	NotifyUrl   string
	Attach      string
}

type FindInBatchesUseBo struct {
	StartTime *time.Time
	EndTime   *time.Time
}

type FindInBatchesBo struct {
	StartTime  string   `json:"start_time"`
	EndTime    string   `json:"end_time"`
	ProductNo  string   `json:"product_no"`
	OrderNos   []string `json:"order_nos"`
	OutBizNos  []string `json:"out_biz_nos"`
	VoucherNos []string `json:"voucher_nos"`
}
