package domain

import (
	"topsdk/util"
)

type TmallExchangeGetExchange struct {
	/*
	   买家发货物流单号     */
	BuyerLogisticNo *string `json:"buyer_logistic_no,omitempty" `

	/*
	   支付宝单号ID     */
	AlipayNo *string `json:"alipay_no,omitempty" `

	/*
	   换货理由说明     */
	Desc *string `json:"desc,omitempty" `

	/*
	   换货申请理由     */
	Reason *string `json:"reason,omitempty" `

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

	/*
	   申请换货的状态：售中换货 or 售后换货     */
	RefundPhase *string `json:"refund_phase,omitempty" `

	/*
	   换货商品的sku     */
	ExchangeSku *string `json:"exchange_sku,omitempty" `

	/*
	   buyerAddress     */
	BuyerAddress *string `json:"buyer_address,omitempty" `

	/*
	   操作场景     */
	OperationContraint *string `json:"operation_contraint,omitempty" `

	/*
	   商品名称     */
	Title *string `json:"title,omitempty" `

	/*
	   换货单创建时间     */
	Created *util.LocalTime `json:"created,omitempty" `

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

	/*
	   先行垫付状态     */
	AdvanceStatus *int64 `json:"advance_status,omitempty" `

	/*
	   买家昵称     */
	BuyerNick *string `json:"buyer_nick,omitempty" `

	/*
	   买家发货物流公司名称     */
	BuyerLogisticName *string `json:"buyer_logistic_name,omitempty" `

	/*
	   换货状态，具体包括：换货待处理(1), 待买家退货(2), 买家已退货，待收货(3),  换货关闭(4), 换货成功(5), 待买家修改(6), 待发出换货商品(12), 待买家收货(13), 请退款(14)     */
	Status *string `json:"status,omitempty" `

	/*
	   换货版本     */
	RefundVersion *int64 `json:"refund_version,omitempty" `

	/*
	   卖家发货物流公司名称     */
	SellerLogisticName *string `json:"seller_logistic_name,omitempty" `

	/*
	   所购买的商品sku     */
	BoughtSku *string `json:"bought_sku,omitempty" `

	/*
	   换货单修改时间     */
	Modified *util.LocalTime `json:"modified,omitempty" `

	/*
	   换货单号ID     */
	DisputeId *string `json:"dispute_id,omitempty" `

	/*
	   换货数量     */
	Num *int64 `json:"num,omitempty" `

	/*
	   卖家发货快递单号     */
	SellerLogisticNo *string `json:"seller_logistic_no,omitempty" `

	/*
	   价格     */
	Price *string `json:"price,omitempty" `

	/*
	   超时时间     */
	TimeOut *string `json:"time_out,omitempty" `

	/*
	   小二托管状态     */
	CsStatus *int64 `json:"cs_status,omitempty" `

	/*
	   卖家换货地址     */
	Address *string `json:"address,omitempty" `

	/*
	   商品状态     */
	GoodStatus *string `json:"good_status,omitempty" `

	/*
	   正向订单号ID     */
	BizOrderId *string `json:"biz_order_id,omitempty" `

	/*
	   买家联系方式     */
	BuyerPhone *string `json:"buyer_phone,omitempty" `

	/*
	   buyerName     */
	BuyerName *string `json:"buyer_name,omitempty" `

	/*
	   收件人ID (Open Addressee ID)，长度在128个字符之内。     */
	Oaid *string `json:"oaid,omitempty" `

	/*
	   买家openId     */
	BuyerOpenUid *string `json:"buyer_open_uid,omitempty" `

	/*
	   所购买的修改后商品sku     */
	NewBoughtSku *string `json:"new_bought_sku,omitempty" `
}

func (s *TmallExchangeGetExchange) SetBuyerLogisticNo(v string) *TmallExchangeGetExchange {
	s.BuyerLogisticNo = &v
	return s
}
func (s *TmallExchangeGetExchange) SetAlipayNo(v string) *TmallExchangeGetExchange {
	s.AlipayNo = &v
	return s
}
func (s *TmallExchangeGetExchange) SetDesc(v string) *TmallExchangeGetExchange {
	s.Desc = &v
	return s
}
func (s *TmallExchangeGetExchange) SetReason(v string) *TmallExchangeGetExchange {
	s.Reason = &v
	return s
}
func (s *TmallExchangeGetExchange) SetAttributes(v string) *TmallExchangeGetExchange {
	s.Attributes = &v
	return s
}
func (s *TmallExchangeGetExchange) SetRefundPhase(v string) *TmallExchangeGetExchange {
	s.RefundPhase = &v
	return s
}
func (s *TmallExchangeGetExchange) SetExchangeSku(v string) *TmallExchangeGetExchange {
	s.ExchangeSku = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerAddress(v string) *TmallExchangeGetExchange {
	s.BuyerAddress = &v
	return s
}
func (s *TmallExchangeGetExchange) SetOperationContraint(v string) *TmallExchangeGetExchange {
	s.OperationContraint = &v
	return s
}
func (s *TmallExchangeGetExchange) SetTitle(v string) *TmallExchangeGetExchange {
	s.Title = &v
	return s
}
func (s *TmallExchangeGetExchange) SetCreated(v util.LocalTime) *TmallExchangeGetExchange {
	s.Created = &v
	return s
}
func (s *TmallExchangeGetExchange) SetSellerNick(v string) *TmallExchangeGetExchange {
	s.SellerNick = &v
	return s
}
func (s *TmallExchangeGetExchange) SetAdvanceStatus(v int64) *TmallExchangeGetExchange {
	s.AdvanceStatus = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerNick(v string) *TmallExchangeGetExchange {
	s.BuyerNick = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerLogisticName(v string) *TmallExchangeGetExchange {
	s.BuyerLogisticName = &v
	return s
}
func (s *TmallExchangeGetExchange) SetStatus(v string) *TmallExchangeGetExchange {
	s.Status = &v
	return s
}
func (s *TmallExchangeGetExchange) SetRefundVersion(v int64) *TmallExchangeGetExchange {
	s.RefundVersion = &v
	return s
}
func (s *TmallExchangeGetExchange) SetSellerLogisticName(v string) *TmallExchangeGetExchange {
	s.SellerLogisticName = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBoughtSku(v string) *TmallExchangeGetExchange {
	s.BoughtSku = &v
	return s
}
func (s *TmallExchangeGetExchange) SetModified(v util.LocalTime) *TmallExchangeGetExchange {
	s.Modified = &v
	return s
}
func (s *TmallExchangeGetExchange) SetDisputeId(v string) *TmallExchangeGetExchange {
	s.DisputeId = &v
	return s
}
func (s *TmallExchangeGetExchange) SetNum(v int64) *TmallExchangeGetExchange {
	s.Num = &v
	return s
}
func (s *TmallExchangeGetExchange) SetSellerLogisticNo(v string) *TmallExchangeGetExchange {
	s.SellerLogisticNo = &v
	return s
}
func (s *TmallExchangeGetExchange) SetPrice(v string) *TmallExchangeGetExchange {
	s.Price = &v
	return s
}
func (s *TmallExchangeGetExchange) SetTimeOut(v string) *TmallExchangeGetExchange {
	s.TimeOut = &v
	return s
}
func (s *TmallExchangeGetExchange) SetCsStatus(v int64) *TmallExchangeGetExchange {
	s.CsStatus = &v
	return s
}
func (s *TmallExchangeGetExchange) SetAddress(v string) *TmallExchangeGetExchange {
	s.Address = &v
	return s
}
func (s *TmallExchangeGetExchange) SetGoodStatus(v string) *TmallExchangeGetExchange {
	s.GoodStatus = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBizOrderId(v string) *TmallExchangeGetExchange {
	s.BizOrderId = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerPhone(v string) *TmallExchangeGetExchange {
	s.BuyerPhone = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerName(v string) *TmallExchangeGetExchange {
	s.BuyerName = &v
	return s
}
func (s *TmallExchangeGetExchange) SetOaid(v string) *TmallExchangeGetExchange {
	s.Oaid = &v
	return s
}
func (s *TmallExchangeGetExchange) SetBuyerOpenUid(v string) *TmallExchangeGetExchange {
	s.BuyerOpenUid = &v
	return s
}
func (s *TmallExchangeGetExchange) SetNewBoughtSku(v string) *TmallExchangeGetExchange {
	s.NewBoughtSku = &v
	return s
}
