package domain

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

type AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest struct {
	/*
	   是否是主单 1-是;0-不是     */
	IsMain *int64 `json:"is_main,omitempty" `

	/*
	   是否是子单 1-是;0-不是     */
	IsDetail *int64 `json:"is_detail,omitempty" `

	/*
	   业务类型 2-表示生鲜门店;3-表示B2C     */
	BusinessType *int64 `json:"business_type,omitempty" `

	/*
	   子业务类型     */
	SubBusinessType *int64 `json:"sub_business_type,omitempty" `

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

	/*
	   订单来源     */
	OrderSource *string `json:"order_source,omitempty" `

	/*
	   下单终端     */
	OrderTerminal *string `json:"order_terminal,omitempty" `

	/*
	   订单渠道 2-表示线上;3-表示线下     */
	OrderChannel *int64 `json:"order_channel,omitempty" `

	/*
	   一级渠道     */
	FirstChannel *string `json:"first_channel,omitempty" `

	/*
	   二级渠道     */
	SecondChannel *string `json:"second_channel,omitempty" `

	/*
	   配送类型 1-表示预约配送;2-表示现场购买     */
	DeliverType *int64 `json:"deliver_type,omitempty" `

	/*
	   送达类型 1-表示及时达;2-表示定时达;3-表示极速达;4-表示无需配送     */
	ArriveType *int64 `json:"arrive_type,omitempty" `

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

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

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

	/*
	   创单时间     */
	OrderCreateTime *util.LocalTime `json:"order_create_time,omitempty" `

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

	/*
	   期望送达时间     */
	ExpectArriveTime *string `json:"expect_arrive_time,omitempty" `

	/*
	   订单原价(分为单位)     */
	OriginFee *int64 `json:"origin_fee,omitempty" `

	/*
	   支付金额(分为单位)     */
	PayFee *int64 `json:"pay_fee,omitempty" `

	/*
	   优惠金额(分为单位)     */
	DiscountFee *int64 `json:"discount_fee,omitempty" `

	/*
	   运费(分为单位)     */
	PostFee *int64 `json:"post_fee,omitempty" `

	/*
	   打包费(分为单位)     */
	PackageFee *int64 `json:"package_fee,omitempty" `

	/*
	   平台折扣费(分为单位)     */
	PlatformDiscountFee *int64 `json:"platform_discount_fee,omitempty" `

	/*
	   商家折扣费(分为单位)     */
	MerchantDiscountFee *int64 `json:"merchant_discount_fee,omitempty" `

	/*
	   订单支付信息     */
	PayInfos *string `json:"pay_infos,omitempty" `

	/*
	   买家信息     */
	BuyerInfo *AlibabaWdkTradeOrderSuccessCreateOrderPayInfoBO `json:"buyer_info,omitempty" `

	/*
	   订单配送信息     */
	DeliveryInfo *AlibabaWdkTradeOrderSuccessCreateOrderBuyerInfoBO `json:"delivery_info,omitempty" `

	/*
	   子单列表     */
	SubInfoList *[]AlibabaWdkTradeOrderSuccessCreateOrderDeliveryBO `json:"sub_info_list,omitempty" `

	/*
	   卖家id     */
	SellerId *int64 `json:"seller_id,omitempty" `

	/*
	   卖家昵称     */
	SellerNick *string `json:"seller_nick,omitempty" `

	/*
	   订单来源     */
	OrderFrom *int64 `json:"order_from,omitempty" `
}

func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetIsMain(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.IsMain = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetIsDetail(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.IsDetail = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetBusinessType(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.BusinessType = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetSubBusinessType(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.SubBusinessType = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOutOrderId(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OutOrderId = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderSource(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderSource = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderTerminal(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderTerminal = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderChannel(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderChannel = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetFirstChannel(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.FirstChannel = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetSecondChannel(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.SecondChannel = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetDeliverType(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.DeliverType = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetArriveType(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.ArriveType = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetShopId(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.ShopId = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetStoreId(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.StoreId = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderStatus(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderStatus = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderCreateTime(v util.LocalTime) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderCreateTime = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPayTime(v util.LocalTime) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PayTime = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetExpectArriveTime(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.ExpectArriveTime = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOriginFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OriginFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPayFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PayFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetDiscountFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.DiscountFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPostFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PostFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPackageFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PackageFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPlatformDiscountFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PlatformDiscountFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetMerchantDiscountFee(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.MerchantDiscountFee = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetPayInfos(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.PayInfos = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetBuyerInfo(v AlibabaWdkTradeOrderSuccessCreateOrderPayInfoBO) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.BuyerInfo = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetDeliveryInfo(v AlibabaWdkTradeOrderSuccessCreateOrderBuyerInfoBO) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.DeliveryInfo = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetSubInfoList(v []AlibabaWdkTradeOrderSuccessCreateOrderDeliveryBO) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.SubInfoList = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetSellerId(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.SellerId = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetSellerNick(v string) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.SellerNick = &v
	return s
}
func (s *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest) SetOrderFrom(v int64) *AlibabaWdkTradeOrderSuccessCreateOrderSuccessRequest {
	s.OrderFrom = &v
	return s
}
