package afs

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

// CreateAfsRequest 售后单申请.
type CreateAfsRequest struct {
	CtpProtocol   rest.CtpProtocol `json:"ctpProtocol"`
	AfsApplyParam ApplyParam       `json:"afsApplyParam"`
}

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

type ApplyParam struct {
	ApplyReasonName   string           `json:"applyReasonName"`
	ApplyReasonID     uint             `json:"applyReasonId"`
	Pin               string           `json:"pin"`
	ChannelAfsApplyID string           `json:"channelAfsApplyId"`
	AfsType           ReturnType       `json:"afsType"`
	QuestionPic       string           `json:"questionPic"`
	OrderID           uint             `json:"orderId"`
	SkuQuantity       SkuQuantityParam `json:"skuQuantity"`
}

func (o CreateAfsRequest) GetApiName() string {
	return "jingdong.ctp.afs.operate.apply.createAfsApply"
}

func (o CreateAfsRequest) GetRespName() string {
	return "jingdong_ctp_afs_operate_apply_createAfsApply_responce"
}

func (o CreateAfsRequest) GetRespObj() interface{} {
	return CreateAfsResponse{}
}

// CreateAfsResponse 售后单创建返回.
type CreateAfsResponse struct {
	Result struct {
		Data    CreateAfsParams `json:"data"`
		ErrCode uint            `json:"errCode"`
		ErrMsg  string          `json:"errMsg"`
		Success bool            `json:"success"`
	} `json:"result"`
}

type CreateAfsParams struct {
	AfsApplyID        uint   `json:"afsApplyId"`
	ChannelAfsApplyID string `json:"channelAfsApplyId"`
}