package _interface import ( "context" ) const ( AfterServiceCanApplyFalse = 1 // 不可申请 AfterServiceCanApplyTrue = 2 // 可申请 ) type AfterServiceInterface interface { // Can 获取是否可发起售后 Can(ctx context.Context, args ArgsAfterServiceCan, reply *ReplyAfterServiceCan) error // Reason 获取售后原因 Reason(ctx context.Context, args ArgsAfterServiceReason, reply *ReplyAfterServiceReason) error // Apply @Title 发起售后 Apply(ctx context.Context, args ArgsAfterServiceApply, reply *ReplyAfterServiceApply) error // LogisticsAddress @Title 寄回地址 LogisticsAddress(ctx context.Context, afterServiceSn string, reply *ReplyAfterServiceLogisticsAddress) error // BackLogisticsBill @Title 回传物流信息 BackLogisticsBill(ctx context.Context, args ArgsAfterServiceBackLogisticsBill, reply *int) error // Cancel @Title 取消售后 Cancel(ctx context.Context, afterServiceSn string, reply *int) error } type ArgsAfterServiceCan struct { OrderSn string // 订单编号 SkuId string // skuId } type ReplyAfterServiceCan struct { CanApply uint `json:"canApply"` // 是否可申请售后 0=不可申请 1=可申请 SkuId string `json:"skuId"` // skuId AppliedNum uint `json:"appliedNum"` // 已申请售后商品数量 CannotApplyTip string `json:"cannotApplyTip"` // 不可申请原因 Types []ReplyAfterServiceType `json:"types"` } type ReplyAfterServiceType struct { TypeId string `json:"type"` // 类型 TypeName string `json:"typeName"` // 类型名称 } type ArgsAfterServiceReason struct { OrderSn string // 订单编号 SkuId string // skuId TypeId string // 售后类型 } type ReplyAfterServiceReason struct { ReasonCode string `json:"reasonCode"` // 售后原因编码 ReasonName string `json:"reasonName"` // 售后原因描述 NeedPicture uint `json:"needPicture"` // 是否需要上传图片 1=需要上传 2=不需要上传 } type ArgsAfterServiceApply struct { Type string // 售后类型 TypeName string // 售后名称 ReasonCode string // 售后原因编码 ReasonName string // 售后原因描述 ChannelAfterServiceSn string // 渠道售后单号 OrderSn string // 订单编号 SkuId string // skuId Pictures []string // 图片地址数组 Quantity uint // 售后申请数量 } type ReplyAfterServiceApply struct { AfterServiceSn string `json:"afterServiceSn"` // 渠道售后单号 ChannelAfterServiceSn string `json:"channelAfterServiceSn"` // 渠道售后单号 } type ReplyAfterServiceLogisticsAddress struct { Name string `json:"name"` // 姓名 Mobile string `json:"mobile"` // 手机号 ZipCode string `json:"zipCode"` // 邮编 Address string `json:"address"` // 地址 } type ArgsAfterServiceBackLogisticsBill struct { AfterServiceSn string // 售后单号 LogisticsCompany string // 物流公司 WaybillCode string // 运单号 SendGoodsDate int64 // 运单发货日期 }