package domain

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

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

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

	/*
	   子订单信息     */
	SubOrders *[]AlibabaTclsAelophyMerchantChannelOrderCreateSubOrder `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(与shop_id必选其一)     */
	OutShopId *string `json:"out_shop_id,omitempty" `

	/*
	   订单状态     */
	OrderStatus *string `json:"order_status,omitempty" `

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

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

	/*
	   订单来源(选填out_shop_id时该值必填)     */
	OrderFrom *int64 `json:"order_from,omitempty" `

	/*
	   配送方式 1:平台配送 2:商家自配送 3:到店自提     */
	PickupType *int64 `json:"pickup_type,omitempty" `

	/*
	   平台佣金     */
	Commission *int64 `json:"commission,omitempty" `

	/*
	   订单小号     */
	SerialNo *string `json:"serial_no,omitempty" `

	/*
	   包装费     */
	PackageFee *int64 `json:"package_fee,omitempty" `

	/*
	   渠道店id(与out_shop_id必选其一)     */
	ShopId *string `json:"shop_id,omitempty" `

	/*
	   商家应收总金额     */
	MerchantTotalFee *int64 `json:"merchant_total_fee,omitempty" `

	/*
	   未分类商家总优惠     */
	OtherMerchantSubsidyFee *int64 `json:"other_merchant_subsidy_fee,omitempty" `

	/*
	   未分类平台总优惠     */
	OtherPlatSubsidyFee *int64 `json:"other_plat_subsidy_fee,omitempty" `

	/*
	   商家基础配送费     */
	MerchantBaseSendFee *int64 `json:"merchant_base_send_fee,omitempty" `

	/*
	   平台配送费补贴     */
	PlatSendSubsidyFee *int64 `json:"plat_send_subsidy_fee,omitempty" `

	/*
	   商家配送费补贴     */
	MerchantSendSubsidyFee *int64 `json:"merchant_send_subsidy_fee,omitempty" `

	/*
	   商家呼单小费     */
	MerchantCallOrderFee *int64 `json:"merchant_call_order_fee,omitempty" `

	/*
	   冷链配送费     */
	ColdChainSendFee *int64 `json:"cold_chain_send_fee,omitempty" `

	/*
	   商家呼单配送费     */
	MerchantCallOrderSendFee *int64 `json:"merchant_call_order_send_fee,omitempty" `

	/*
	   配送保险     */
	SendInsuranceFee *int64 `json:"send_insurance_fee,omitempty" `

	/*
	   物流驻店服务费     */
	LogisticsShopServiceFee *int64 `json:"logistics_shop_service_fee,omitempty" `

	/*
	   实收增值服务费     */
	ActualIncrementServiceFee *int64 `json:"actual_increment_service_fee,omitempty" `

	/*
	   履约增值服务费     */
	PerformanceIncrementServiceFee *int64 `json:"performance_increment_service_fee,omitempty" `

	/*
	   距离加价履约费     */
	DistanceIncreasePerformanceFee *int64 `json:"distance_increase_performance_fee,omitempty" `

	/*
	   时段加价履约费     */
	TimeIncreasePerformanceFee *int64 `json:"time_increase_performance_fee,omitempty" `

	/*
	   公益捐款     */
	MerchantPublicDonation *int64 `json:"merchant_public_donation,omitempty" `

	/*
	   用户积分抵扣金额     */
	PlatPointsDeductionFee *int64 `json:"plat_points_deduction_fee,omitempty" `

	/*
	   自提服务费优惠金额     */
	SelfPickDiscountFee *int64 `json:"self_pick_discount_fee,omitempty" `

	/*
	   自提服务费     */
	SelfPickPayableFee *int64 `json:"self_pick_payable_fee,omitempty" `

	/*
	   价格加价履约费     */
	PriceIncreasePerformanceFee *int64 `json:"price_increase_performance_fee,omitempty" `

	/*
	   支付渠道，不填会默认使用类型1，支付金额=主单的payFee     */
	PayChannels *[]AlibabaTclsAelophyMerchantChannelOrderCreatePayChannel `json:"pay_channels,omitempty" `

	/*
	   订单扩展数据     */
	Ext *string `json:"ext,omitempty" `
}

func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetBuyer(v AlibabaTclsAelophyMerchantChannelOrderCreateBuyer) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.Buyer = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetConsignee(v AlibabaTclsAelophyMerchantChannelOrderCreateConsignee) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.Consignee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetSubOrders(v []AlibabaTclsAelophyMerchantChannelOrderCreateSubOrder) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.SubOrders = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPayFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PayFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOriginFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OriginFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetDiscountFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.DiscountFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPostFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PostFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOutOrderId(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OutOrderId = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOutShopId(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OutShopId = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOrderStatus(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OrderStatus = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPayTime(v util.LocalTime) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PayTime = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetCreateTime(v util.LocalTime) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.CreateTime = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOrderFrom(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OrderFrom = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPickupType(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PickupType = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetCommission(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.Commission = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetSerialNo(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.SerialNo = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPackageFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PackageFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetShopId(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.ShopId = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantTotalFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantTotalFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOtherMerchantSubsidyFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OtherMerchantSubsidyFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetOtherPlatSubsidyFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.OtherPlatSubsidyFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantBaseSendFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantBaseSendFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPlatSendSubsidyFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PlatSendSubsidyFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantSendSubsidyFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantSendSubsidyFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantCallOrderFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantCallOrderFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetColdChainSendFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.ColdChainSendFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantCallOrderSendFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantCallOrderSendFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetSendInsuranceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.SendInsuranceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetLogisticsShopServiceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.LogisticsShopServiceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetActualIncrementServiceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.ActualIncrementServiceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPerformanceIncrementServiceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PerformanceIncrementServiceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetDistanceIncreasePerformanceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.DistanceIncreasePerformanceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetTimeIncreasePerformanceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.TimeIncreasePerformanceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetMerchantPublicDonation(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.MerchantPublicDonation = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPlatPointsDeductionFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PlatPointsDeductionFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetSelfPickDiscountFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.SelfPickDiscountFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetSelfPickPayableFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.SelfPickPayableFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPriceIncreasePerformanceFee(v int64) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PriceIncreasePerformanceFee = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetPayChannels(v []AlibabaTclsAelophyMerchantChannelOrderCreatePayChannel) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.PayChannels = &v
	return s
}
func (s *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo) SetExt(v string) *AlibabaTclsAelophyMerchantChannelOrderCreateOrderInfo {
	s.Ext = &v
	return s
}
