1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package tmv3
import (
"context"
"github.com/alibabacloud-go/linkedmall-20230930/v2/client"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/os/gtime"
)
type RefundBeforeReq struct {
BizClaimType int32 //退款类型 1 仅退款,3 退货退款
GoodsStatus int32 //货物状态 4: 未发货, 1: 未收到货, 2: 已收到货
OrderLineId string //子分销订单 ID
}
type RefundBeforeRes struct {
RequestId string `json:"requestId"`
OrderLineId string `json:"orderLineId"` //子分销订单号
BizClaimType int `json:"bizClaimType"` //支持的订单退货方式
MaxRefundFeeData struct {
MaxRefundFee int `json:"maxRefundFee"`
MinRefundFee int `json:"minRefundFee"`
} `json:"maxRefundFeeData"`
RefundReasonList []struct { //退款理由
ReasonTextId string `json:"reasonTextId"` //理由文本 id
ProofRequired bool `json:"proofRequired"` //是否要求上传凭证
ReasonTips string `json:"reasonTips"` //理由文本
RefundDescRequired bool `json:"refundDescRequired"` //是否要求留言
} `json:"refundReasonList"`
}
// Before 售后单渲染
func (s refundTm) Before(ctx context.Context, req RefundBeforeReq) (res *RefundBeforeRes, err error) {
Start := gtime.TimestampMilli()
ctx = context.WithValue(ctx, "URI", "RenderRefundOrder")
defer func() {
Log(ctx, req, res, err, Start)
}()
Request := &client.RenderRefundOrderRequest{}
var Body = new(client.RefundRenderCmd)
Body.SetBizClaimType(req.BizClaimType)
Body.SetGoodsStatus(req.GoodsStatus)
Body.SetOrderLineId(req.OrderLineId)
Request.SetBody(Body)
r, err := server.RenderRefundOrder(Request)
if err != nil {
return
}
err = gjson.New(r.Body).Scan(&res)
return
}