|
|
|
package _interface
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
AfterServiceCanApplyTrue = 1 // 可申请
|
|
|
|
AfterServiceCanApplyFalse = 2 // 不可申请
|
|
|
|
|
|
|
|
AfterServiceNeedPictureTrue = 1 // 需要上传
|
|
|
|
AfterServiceNeedPictureFalse = 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"` // 是否可申请售后 1=可申请 2=不可申请
|
|
|
|
SkuId string `json:"skuId"` // skuId
|
|
|
|
AppliedNum uint `json:"appliedNum"` // 已申请售后商品数量
|
|
|
|
CannotApplyTip string `json:"cannotApplyTip"` // 不可申请原因
|
|
|
|
Types []AfterServiceType `json:"types"`
|
|
|
|
}
|
|
|
|
type AfterServiceType 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 // 运单发货日期
|
|
|
|
}
|