package jingdong import ( "context" "github.com/gogf/gf/encoding/gjson" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gconv" ) type logisticsLogic struct { } var Logistics = logisticsLogic{} // LogisticsTraceRes 物流轨迹 type LogisticsTraceRes struct { CommonRes Result struct { OrderTrack []struct { Content string `json:"content"` //操作内容明细 MsgTime string `json:"msgTime"` //操作时间。日期格式为“yyyy-MM-dd hh:mm:ss” Operator string `json:"operator"` //操作员名称 } `json:"orderTrack"` WaybillCode []struct { OrderID int64 `json:"orderId"` //订单号 ParentID int64 `json:"parentId"` //父订单号。 此字段为0 未拆单 Carrier string `json:"carrier"` //承运商 DeliveryOrderID string `json:"deliveryOrderId"` //运单号 } `json:"waybillCode"` JdOrderID int `json:"jdOrderId"` } `json:"result"` } // Trace 物流轨迹 func (*logisticsLogic) Trace(ctx context.Context, OrderID string) (res *LogisticsTraceRes, err error) { method := "order/orderTrack" param := g.Map{ "jdOrderId": gconv.Int64(OrderID), "waybillCode": "1", } result, err := server.requestApi(ctx, method, param) if err != nil { return } err = gjson.New(result).Scan(&res) return }