提交 d6b77518 authored 作者: 赵雪如's avatar 赵雪如

唯品会售后

上级 90c502e1
......@@ -34,7 +34,9 @@ func (*deliverWpc) List(ctx context.Context) (res *DeliverListRes, err error) {
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
......@@ -70,6 +72,8 @@ func (*deliverWpc) Track(ctx context.Context, req DeliverTrackReq) (res *Deliver
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
......@@ -22,26 +22,44 @@ type RefundReasonReq struct {
type RefundReasonRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result interface{} `json:"result"`
Result struct{
OrderId string `json:"order_id"`
OrderSn string `json:"order_sn"`
GoodsList []struct{
GoodsId int `json:"goodsId"`
Name string `json:"name"`
ReturnAble bool `json:"returnAble"`
ReasonList []struct{
ReasonId int `json:"reasonId"`
ReasonInfo string `json:"reasonInfo"`
UploadImgFlag bool `json:"uploadImgFlag"`
}
Sizes []struct{
SizeId int64 `json:"sizeId"`
Name string `json:"name"`
Price string `json:"price"`
returnReasonId string `json:"returnReasonId"`
returnReasonRemark string `json:"returnReasonRemark"`
ReasonList []struct{
ReasonId int `json:"reasonId"`
ReasonInfo string `json:"reasonInfo"`
UploadImgFlag bool `json:"uploadImgFlag"`
}
ImageList []string `json:"imageList"`
ReturnPrimaryId string `json:"returnPrimaryId"`
Num int `json:"num"`
} `json:"sizes"`
} `json:"goodsList"`
} `json:"result"`
}
//Reason 退货原因
func (refundWpc) Reason(ctx context.Context, req RefundReasonReq) (res *RefundReasonRes, err error) {
method := "getReturnOrderCreate"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
return
}
type RefundApplyReq struct {
ChannelId string `json:"vopChannelId"`
UserNumber string `json:"userNumber"`
OrderSn string `json:"orderSn"`
SizeInfo string `json:"sizeInfo"`
SizeInfo map[string]uint `json:"sizeInfo"`
}
type RefundApplySizeInfo struct {
......@@ -53,21 +71,10 @@ type RefundApplySizeInfo struct {
type RefundApplyRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result interface{} `json:"result"`
Result struct{
Success bool
} `json:"result"`
}
//Apply 申请
func (refundWpc) Apply(ctx context.Context, req RefundApplyReq) (res *RefundApplyRes, err error) {
method := "orderReturnCreate"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
return
}
type RefundSubmitReq struct {
ChannelId string `json:"vopChannelId"`
UserNumber string `json:"userNumber"`
......@@ -81,9 +88,119 @@ type RefundSubmitReq struct {
type RefundSubmitRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result interface{} `json:"result"`
Result struct{
Success bool
} `json:"result"`
}
type RefundDetailReq struct {
ChannelId string `json:"vopChannelId"`
UserNumber string `json:"userNumber"`
OrderSn string `json:"orderSn"`
ReturnId string `json:"returnId"`
}
type RefundDetailRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result struct{
OrderId string `json:"orderId"`
OrderSn string `json:"orderSn"`
ReturnId string `json:"returnId"`
ReturnStatus string `json:"returnStatus"`
TransportStatus string `json:"transportStatus"`
ReturnProgressDesc string `json:"returnProgressDesc"`
ReturnProgressTime string `json:"returnProgressTime"`
ReturnAmount string `json:"returnAmount"`
ReturnAddressInfo struct{
Address string `json:"address"`
Name string `json:"name"`
Phone string `json:"phone"`
} `json:"returnAddressInfo"`
GoodsList struct{
GoodsId string `json:"goodsId"`
Name string `json:"name"`
Image string `json:"image"`
BrandCn string `json:"brandCn"`
BrandEn string `json:"brandEn"`
Sn string `json:"sn"`
GoodsIdStr string `json:"goodsIdStr"`
Sizes struct{
SizeId int64 `json:"sizeId"`
Name string `json:"name"`
Price string `json:"price"`
Color string `json:"color"`
SizeIdStr string `json:"sizeIdStr"`
ReturnReasonId string `json:"returnReasonId"`
ReturnReasonRemark string `json:"returnReasonRemark"`
ReasonList struct{
ReasonId int `json:"reasonId"`
ReasonInfo string `json:"reasonInfo"`
UploadImgFlag bool `json:"uploadImgFlag"`
}`json:"reasonList"`
ImageList []string `json:"imageList"`
ReturnPrimaryId string `json:"returnPrimaryId"`
Num int `json:"num"`
} `json:"sizes"`
} `json:"goodsList"`
ReturnGoodsAmount string `json:"returnGoodsAmount"`
HasOXO string `json:"hasOXO"`
IsStoreOrder string `json:"isStoreOrder"`
ReturnStatusCode int `json:"returnStatusCode"`//退货状态码: 1.未审核 2.退货已审核 3.审核不通过 4.退货返仓中 5.(已退款)已完成 6.已取消
IsQualityProblem bool `json:"isQualityProblem"`
CreateTime string `json:"createTime"`
AuditTime string `json:"auditTime"`
QualityProblemUserModifyTimeout string `json:"qualityProblemUserModifyTimeout"`
CancelReasonType int `json:"cancelReasonType"`
CancelReason string `json:"cancelReason"`
RefundStatus string `json:"refundStatus"` //退款状态, 0:未退款 1:已退款
} `json:"result"`
}
type RefundCancelReq struct {
ChannelId string `json:"vopChannelId"`
UserNumber string `json:"userNumber"`
OrderSn string `json:"orderSn"`
ReturnId string `json:"returnId"`
}
type RefundCancelRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result struct{
Success bool
} `json:"result"`
}
//Reason 退货原因
func (refundWpc) Reason(ctx context.Context, req RefundReasonReq) (res *RefundReasonRes, err error) {
method := "getReturnOrderCreate"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
//Apply 申请
func (refundWpc) Apply(ctx context.Context, req RefundApplyReq) (res *RefundApplyRes, err error) {
method := "orderReturnCreate"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
//Submit 填写回寄物流单号
func (refundWpc) Submit(ctx context.Context, req RefundSubmitReq) (res *RefundSubmitRes, err error) {
method := "updateReturnTransportNo"
......@@ -92,33 +209,37 @@ func (refundWpc) Submit(ctx context.Context, req RefundSubmitReq) (res *RefundSu
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
type RefundListReq struct {
ChannelId string `json:"vopChannelId"`
UserNumber string `json:"userNumber"`
Page string `json:"page"`
PageSize string `json:"pageSize"`
OrderSn string `json:"orderSn"`
IsCanceled bool `json:"isCanceled,omitempty"`
}
type RefundListRes struct {
ReturnCode string `json:"returnCode"`
ReturnMessage string `json:"returnMessage"`
Result interface{} `json:"result"`
}
//List 列表
func (refundWpc) List(ctx context.Context, req RefundListReq) (res *RefundListRes, err error) {
method := "multiAfterSaleList"
//售后详情
func (refundWpc) Detail(ctx context.Context, req RefundDetailReq) (res *RefundDetailRes, err error) {
method := "getOrderReturnDetail"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.New(result).Scan(&res)
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
//取消售后
func (refundWpc) Cancel(ctx context.Context, req RefundCancelReq) (res *RefundCancelRes, err error) {
method := "cancelReturnedOrder"
req.ChannelId = server.AppKey
req.UserNumber = server.UserNumber
result, err := post(ctx, method, g.Map{
"request": req,
})
_ = gjson.NewWithOptions(result, gjson.Options{
StrNumber: true,
}).Scan(&res)
return
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论