package domain

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

type AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest struct {
	/*
	   扩展字段     */
	Extension *string `json:"extension,omitempty" `

	/*
	   oms主单号     */
	BizOrderId *string `json:"biz_order_id,omitempty" `

	/*
	   出库状态     */
	OutBoundStatus *string `json:"out_bound_status,omitempty" `

	/*
	   子单明细列表     */
	DemandDetailCallBackRequests *[]AlibabaAxWarehouseOutboundCallbackTradeOutBoundDetailCallBackRequest `json:"demand_detail_call_back_requests,omitempty" `

	/*
	   渠道单号     */
	ChannelOrderNo *string `json:"channel_order_no,omitempty" `

	/*
	   出库状态发生时间     */
	DemandStatusTime *util.LocalTime `json:"demand_status_time,omitempty" `

	/*
	   仓编码     */
	StoreCode *string `json:"store_code,omitempty" `

	/*
	   渠道类型     */
	ChannelSource *string `json:"channel_source,omitempty" `
}

func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetExtension(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.Extension = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetBizOrderId(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.BizOrderId = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetOutBoundStatus(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.OutBoundStatus = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetDemandDetailCallBackRequests(v []AlibabaAxWarehouseOutboundCallbackTradeOutBoundDetailCallBackRequest) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.DemandDetailCallBackRequests = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetChannelOrderNo(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.ChannelOrderNo = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetDemandStatusTime(v util.LocalTime) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.DemandStatusTime = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetStoreCode(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.StoreCode = &v
	return s
}
func (s *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest) SetChannelSource(v string) *AlibabaAxWarehouseOutboundCallbackTopTradeOutBoundCallBackRequest {
	s.ChannelSource = &v
	return s
}
