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
package kdniao
import (
"context"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
)
type deliverKdniao struct {
}
var Deliver = deliverKdniao{}
type DeliverTrackReq struct {
CustomerName string `json:"CustomerName"`
DeliverNo string `json:"LogisticCode"`
Code string `json:"ShipperCode"`
}
type DeliverTrackRes struct {
EBusinessID string `json:"EBusinessID"`
ShipperCode string `json:"ShipperCode"`
LogisticCode string `json:"LogisticCode"`
State string `json:"State"`
StateEx string `json:"StateEx"`
Location string `json:"Location"`
Traces []struct {
Action string `json:"Action"`
AcceptStation string `json:"AcceptStation"`
AcceptTime string `json:"AcceptTime"`
Location string `json:"Location"`
} `json:"Traces"`
DeliveryMan string `json:"DeliveryMan"`
DeliveryManTel string `json:"DeliveryManTel"`
Success bool `json:"Success"`
}
//Track 物流轨迹
func (*deliverKdniao) Track(ctx context.Context, req DeliverTrackReq) (res *DeliverTrackRes, err error) {
url := "Ebusiness/EbusinessOrderHandle.aspx"
result, err := post(ctx, url, "8001", req)
_ = gjson.New(result).Scan(&res)
return
}
type DeliverParseRes struct {
LogisticCode string `json:"LogisticCode"`
Shippers []struct {
ShipperName string `json:"ShipperName"`
ShipperCode string `json:"ShipperCode"`
} `json:"Shippers"`
EBusinessID string `json:"EBusinessID"`
Code string `json:"Code"`
Success bool `json:"Success"`
}
//Parse 单号识别
func (*deliverKdniao) Parse(ctx context.Context, req string) (res *DeliverParseRes, err error) {
url := "Ebusiness/EbusinessOrderHandle.aspx"
result, err := post(ctx, url, "2002", g.Map{
"LogisticCode": req,
})
_ = gjson.New(result).Scan(&res)
return
}