package domain

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

type AlibabaWdkOrderRefundListOrderSyncRefundDto struct {
	/*
	   库存单位购买数量     */
	BuyAmountStock *string `json:"buy_amount_stock,omitempty" `

	/*
	   商品skucode     */
	ItemCode *int64 `json:"item_code,omitempty" `

	/*
	   非标品购买数量     */
	NsQuantity *string `json:"ns_quantity,omitempty" `

	/*
	   操作人id     */
	OperatorId *string `json:"operator_id,omitempty" `

	/*
	   操作人name     */
	OperatorName *string `json:"operator_name,omitempty" `

	/*
	   盒马子订单号     */
	OriginOrderId *int64 `json:"origin_order_id,omitempty" `

	/*
	   盒马主订单号     */
	OriginParentId *int64 `json:"origin_parent_id,omitempty" `

	/*
	   库存单位拣货数量     */
	PickAmountStock *string `json:"pick_amount_stock,omitempty" `

	/*
	   原购买数量     */
	Quantity *int64 `json:"quantity,omitempty" `

	/*
	   退款金额     */
	RefundAmount *int64 `json:"refund_amount,omitempty" `

	/*
	   退款渠道     */
	RefundChannelList *[]AlibabaWdkOrderRefundListOrderSyncRefundChannel `json:"refund_channel_list,omitempty" `

	/*
	   退款id     */
	RefundOrderId *int64 `json:"refund_order_id,omitempty" `

	/*
	   退款数量     */
	RefundQuantity *string `json:"refund_quantity,omitempty" `

	/*
	   退款时间     */
	RefundTime *util.LocalTime `json:"refund_time,omitempty" `

	/*
	   1:自助退款,2:客户当面拒收,3:补差退款,4:拒单退款,5:代退款,6:无法联系到客户退款,7:无货签收退款     */
	RefundType *int64 `json:"refund_type,omitempty" `

	/*
	   非标品单位     */
	SellUnit *string `json:"sell_unit,omitempty" `

	/*
	   店铺码     */
	StoreId *string `json:"store_id,omitempty" `

	/*
	   淘系子订单号     */
	TbBizOrderId *int64 `json:"tb_biz_order_id,omitempty" `

	/*
	   批次时间     */
	BatchTime *util.LocalTime `json:"batch_time,omitempty" `

	/*
	   2-APP, 3-POS,1-其他     */
	OrderClient *int64 `json:"order_client,omitempty" `

	/*
	   实际取货数量     */
	ActualPickQuantity *string `json:"actual_pick_quantity,omitempty" `

	/*
	   实际退款数量     */
	ActualRefundQuantity *string `json:"actual_refund_quantity,omitempty" `

	/*
	   履约的状态     */
	PromiseStatus *string `json:"promise_status,omitempty" `

	/*
	   退款的运费，单位分     */
	RefundPostFee *int64 `json:"refund_post_fee,omitempty" `

	/*
	   库存单位     */
	StockUnit *string `json:"stock_unit,omitempty" `

	/*
	   销售单位     */
	SaleUnit *string `json:"sale_unit,omitempty" `

	/*
	   淘系主订单号     */
	TbBizParentId *int64 `json:"tb_biz_parent_id,omitempty" `

	/*
	   attributes     */
	Attributes *string `json:"attributes,omitempty" `

	/*
	   java.util.Map     */
	TradeAttributes *string `json:"trade_attributes,omitempty" `

	/*
	   商品skucode     */
	SkuCode *string `json:"sku_code,omitempty" `

	/*
	   open_uid     */
	OpenUid *string `json:"open_uid,omitempty" `

	/*
	   渠道来源 3：饿了么 4：盒马     */
	OrderFrom *int64 `json:"order_from,omitempty" `

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

	/*
	   外部主订单id     */
	OutMianOrderId *string `json:"out_mian_order_id,omitempty" `

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

	/*
	   外部skuCode     */
	OutSkuCode *string `json:"out_sku_code,omitempty" `

	/*
	   纠纷类型 1：售中 2：售后     */
	DisputeType *int64 `json:"dispute_type,omitempty" `

	/*
	   外部退款id     */
	OutRefundId *string `json:"out_refund_id,omitempty" `

	/*
	   外部门店id     */
	OutShopId *string `json:"out_shop_id,omitempty" `

	/*
	   退单状态 APPLY：申请，待审核，REFUSE：审核拒绝，AGREE：审核同意（退款中），SUCCESS：退款成功，CANCEL：取消申请，PLATFROM_DEAL：平台仲裁中，FAILED：退款失败     */
	RefundStatus *string `json:"refund_status,omitempty" `

	/*
	   退款销售数量     */
	RefundSaleQuantity *int64 `json:"refund_sale_quantity,omitempty" `

	/*
	   退款业务单号     */
	BizMainRefundId *string `json:"biz_main_refund_id,omitempty" `

	/*
	   外部退款单号     */
	OutMainRefundId *string `json:"out_main_refund_id,omitempty" `
}

func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetBuyAmountStock(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.BuyAmountStock = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetItemCode(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.ItemCode = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetNsQuantity(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.NsQuantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOperatorId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OperatorId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOperatorName(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OperatorName = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOriginOrderId(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OriginOrderId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOriginParentId(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OriginParentId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetPickAmountStock(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.PickAmountStock = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetQuantity(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.Quantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundAmount(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundAmount = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundChannelList(v []AlibabaWdkOrderRefundListOrderSyncRefundChannel) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundChannelList = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundOrderId(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundOrderId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundQuantity(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundQuantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundTime(v util.LocalTime) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundTime = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundType(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundType = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetSellUnit(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.SellUnit = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetStoreId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.StoreId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetTbBizOrderId(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.TbBizOrderId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetBatchTime(v util.LocalTime) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.BatchTime = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOrderClient(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OrderClient = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetActualPickQuantity(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.ActualPickQuantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetActualRefundQuantity(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.ActualRefundQuantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetPromiseStatus(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.PromiseStatus = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundPostFee(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundPostFee = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetStockUnit(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.StockUnit = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetSaleUnit(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.SaleUnit = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetTbBizParentId(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.TbBizParentId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetAttributes(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.Attributes = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetTradeAttributes(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.TradeAttributes = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetSkuCode(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.SkuCode = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOpenUid(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OpenUid = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOrderFrom(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OrderFrom = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutOrderId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutOrderId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutMianOrderId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutMianOrderId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetShopId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.ShopId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutSkuCode(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutSkuCode = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetDisputeType(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.DisputeType = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutRefundId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutRefundId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutShopId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutShopId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundStatus(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundStatus = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetRefundSaleQuantity(v int64) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.RefundSaleQuantity = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetBizMainRefundId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.BizMainRefundId = &v
	return s
}
func (s *AlibabaWdkOrderRefundListOrderSyncRefundDto) SetOutMainRefundId(v string) *AlibabaWdkOrderRefundListOrderSyncRefundDto {
	s.OutMainRefundId = &v
	return s
}
