package domain

import (
	"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
)

type AlibabaWdkChannelOrderCreateOrderInfo struct {
	/*
	   买家信息     */
	Buyer *AlibabaWdkChannelOrderCreateBuyer `json:"buyer,omitempty" `

	/*
	   收件人信息     */
	Consignee *AlibabaWdkChannelOrderCreateConsignee `json:"consignee,omitempty" `

	/*
	   子订单信息     */
	SubOrders *[]AlibabaWdkChannelOrderCreateSubOrder `json:"sub_orders,omitempty" `

	/*
	   实际支付金额     */
	PayFee *int64 `json:"pay_fee,omitempty" `

	/*
	   原始金额     */
	OriginFee *int64 `json:"origin_fee,omitempty" `

	/*
	   优惠金额     */
	DiscountFee *int64 `json:"discount_fee,omitempty" `

	/*
	   运费     */
	PostFee *int64 `json:"post_fee,omitempty" `

	/*
	   外部订单号     */
	OutOrderId *string `json:"out_order_id,omitempty" `

	/*
	   渠道店Id     */
	ShopId *string `json:"shop_id,omitempty" `

	/*
	   经营店Id     */
	StoreId *string `json:"store_id,omitempty" `

	/*
	   订单状态  (创建订单： CREATED  已支付订单：  PAID_DONE)     */
	OrderStatus *string `json:"order_status,omitempty" `

	/*
	   支付时间     */
	PayTime *util.LocalTime `json:"pay_time,omitempty" `

	/*
	   创单时间     */
	CreateTime *util.LocalTime `json:"create_time,omitempty" `
}

func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetBuyer(v AlibabaWdkChannelOrderCreateBuyer) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.Buyer = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetConsignee(v AlibabaWdkChannelOrderCreateConsignee) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.Consignee = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetSubOrders(v []AlibabaWdkChannelOrderCreateSubOrder) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.SubOrders = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetPayFee(v int64) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.PayFee = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetOriginFee(v int64) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.OriginFee = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetDiscountFee(v int64) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.DiscountFee = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetPostFee(v int64) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.PostFee = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetOutOrderId(v string) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.OutOrderId = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetShopId(v string) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.ShopId = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetStoreId(v string) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.StoreId = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetOrderStatus(v string) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.OrderStatus = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetPayTime(v util.LocalTime) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.PayTime = &v
	return s
}
func (s *AlibabaWdkChannelOrderCreateOrderInfo) SetCreateTime(v util.LocalTime) *AlibabaWdkChannelOrderCreateOrderInfo {
	s.CreateTime = &v
	return s
}
