package afs

import "git.oa00.com/go/jcook-sdk/api/rest"

// GetAfsServiceDetailRequest 获取售后详情.
type GetAfsServiceDetailRequest struct {
	CtpProtocol           rest.CtpProtocol   `json:"ctpProtocol"`
	AfsServiceDetailParam ServiceDetailParam `json:"afsServiceDetailParam"`
}

type ServiceDetailParam struct {
	Pin          string `json:"pin"`
	AfsServiceID uint   `json:"afsServiceId"`
}

func (o GetAfsServiceDetailRequest) GetApiName() string {
	return "jingdong.ctp.afs.servicenbill.getAfsServiceDetail"
}

func (o GetAfsServiceDetailRequest) GetRespName() string {
	return "jingdong_ctp_afs_servicenbill_getAfsServiceDetail_responce"
}

func (o GetAfsServiceDetailRequest) GetRespObj() interface{} {
	return GetAfsResponse{}
}

// GetAfsResponse 售后单查询返回.
type GetAfsResponse struct {
	Result struct {
		Data    GetAfsParams `json:"data"`
		ErrCode uint         `json:"errCode"`
		ErrMsg  string       `json:"errMsg"`
		Success bool         `json:"success"`
	} `json:"result"`
}

type GetAfsParams struct {
	ProcessResult       uint        `json:"processResult"`
	CustomerName        string      `json:"customerName"`
	ApplyReasonID       uint        `json:"applyReasonId"`
	ApplyReasonName     string      `json:"applyReasonName"`
	ApproveResult       uint        `json:"approveResult"`
	AfsApplyTime        int64       `json:"afsApplyTime"`
	ApproveResultName   string      `json:"approveResultName"`
	ProcessResultName   string      `json:"processResultName"`
	AfsType             ReturnType  `json:"afsType"`
	ReturnWareType      uint        `json:"returnWareType"`
	CustomerMobile      string      `json:"customerMobile"`
	QuestionPic         string      `json:"questionPic"`
	ApproveNotes        string      `json:"approveNotes"`
	ApprovedDate        int64       `json:"approvedDate"`
	CustomerEmail       string      `json:"customerEmail"`
	ProcessedDate       int64       `json:"processedDate"`
	AfsApplyID          uint        `json:"afsApplyId"`
	AfsTypeName         string      `json:"afsTypeName"`
	Pin                 string      `json:"pin"`
	AfsServiceState     uint        `json:"afsServiceState"`
	AfsServiceID        uint        `json:"afsServiceId"`
	NewOrderID          uint        `json:"newOrderId"`
	AfsServiceStep      uint        `json:"afsServiceStep"`
	AfsServiceStateName string      `json:"afsServiceStateName"`
	ProcessNotes        string      `json:"processNotes"`
	AfsServiceStepName  string      `json:"afsServiceStepName"`
	OrderID             uint        `json:"orderId"`
	SkuQuantity         SkuQuantity `json:"skuQuantity"`
}

type SkuQuantity struct {
	SkuID    uint   `json:"skuId"`
	SkuName  string `json:"skuName"`
	Quantity uint   `json:"quantity"`
}