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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package suning
import (
"context"
"encoding/json"
)
type OrderLogistReq struct {
SnRequest struct {
SnBody struct {
GetOrderlogist struct {
OrderItemId string `json:"orderItemId"`
} `json:"getOrderlogist"`
} `json:"sn_body"`
} `json:"sn_request"`
}
type OrderLogistRes struct {
SnResponseContent struct {
SnBody struct {
GetOrderlogist struct {
LogisticNumber string `json:"logisticNumber"`
OrderItemId string `json:"orderItemId"`
ExpressCompany string `json:"expressCompany"`
LogisticsInfoList []struct {
OperateState string `json:"operateState"`
OperateTime string `json:"operateTime"`
Operator string `json:"operator"`
} `json:"logisticsInfoList"`
} `json:"getOrderlogist"`
} `json:"sn_body"`
} `json:"sn_responseContent"`
}
// 获取订单物流详情
func GetOrderLogist(ctx context.Context, OrderItemId string) (res OrderLogistRes, err error) {
params := OrderLogistReq{}
params.SnRequest.SnBody.GetOrderlogist.OrderItemId = OrderItemId
result, err := post(ctx, "suning.sngoods.orderlogist.get", params)
if nil != err {
return
}
err = json.Unmarshal([]byte(result), &res)
return
}
type OrderConfirmReceiptReq struct {
SnRequest struct {
SnBody struct {
QueryConfirmreceipt struct {
SkuConfirmList []*OrderConfirmSkuConfirmList `json:"skuConfirmList"`
OrderId string `json:"orderId"`
} `json:"queryConfirmreceipt"`
} `json:"sn_body"`
} `json:"sn_request"`
}
type OrderConfirmSkuConfirmList []struct {
OrderItemId string `json:"orderItemId"`
SkuId string `json:"skuId"`
}
type OrderConfirmReceiptRes struct {
SnResponseContent struct {
SnBody struct {
QueryConfirmreceipt struct {
ResultList []struct {
OrderItemId string `json:"orderItemId"`
ApiIsSuccess string `json:"apiIsSuccess"`
} `json:"resultList"`
} `json:"queryConfirmreceipt"`
} `json:"sn_body"`
} `json:"sn_responseContent"`
}
// 确认收货
func OrderConfirmReceipt(ctx context.Context, OrderId string, SkuConfirmList []*OrderConfirmSkuConfirmList) (res OrderConfirmReceiptRes, err error) {
params := OrderConfirmReceiptReq{}
params.SnRequest.SnBody.QueryConfirmreceipt.OrderId = OrderId
params.SnRequest.SnBody.QueryConfirmreceipt.SkuConfirmList = SkuConfirmList
result, err := post(ctx, "suning.sngoods.confirmreceipt.query", params)
if nil != err {
return
}
err = json.Unmarshal([]byte(result), &res)
return
}