59 lines
3.0 KiB
Go
59 lines
3.0 KiB
Go
package jdapi
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
"time"
|
||
)
|
||
|
||
// ReceiveLogisticInfoForOpenApiPlatform 京东商家自配送同步骑手状态
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=e6feb2ab829e4aa7963bacd04d9434b2
|
||
func (a *API) ReceiveLogisticInfoForOpenApiPlatform(parma ReceiveLogisticInfo) (err error) {
|
||
jdParams := utils.Struct2Map(parma, "", false)
|
||
_, err = a.AccessAPINoPage("ThirdPartyLogisticsService/receiveLogisticInfosForOpenApiPlatform", jdParams, nil, nil, nullResultParser)
|
||
return err
|
||
}
|
||
|
||
// ReceiveLogisticInfo 自配送骑手状态通知
|
||
type ReceiveLogisticInfo struct {
|
||
OrderId string `json:"orderId"` // 到家订单号
|
||
DeliveryInfoList []DeliveryInfo `json:"deliveryInfoList"` // 物流配送信息,仅支持传入单个元素,如传入多个元素底层服务获取第一个
|
||
}
|
||
|
||
// DeliveryInfo 物流配送信息,仅支持传入单个元素,如传入多个元素底层服务获取第一个
|
||
type DeliveryInfo struct {
|
||
DeliveryStatus string `json:"deliveryStatus"` // 配送状态,10010-待接单,10020-配送员接单,10022-更换配送员,10023-配送员已到店,10025-取货失败,10030-配送员已取货【接单、更换骑手、骑手到店、骑手取货 都需要填加:骑手姓名和电话】
|
||
DeliveryManName string `json:"deliveryManName"` // 配送员姓名
|
||
DeliveryManPhone string `json:"deliveryManPhone"` // 配送员手机号
|
||
DeliveryCarrierNo string `json:"deliveryCarrierNo"` // 承运商编号
|
||
DeliveryCarrierOrderNo string `json:"deliveryCarrierOrderNo"` // 运单号
|
||
DeliveryCarrierName string `json:"deliveryCarrierName"` // 承运商名称
|
||
FailReason string `json:"failReason"` // 失败原因
|
||
OperateTime string `json:"operateTime"` // 操作时间格式【yyy-MM-dd HH:mm:ss】
|
||
Operator string `json:"operator"` // 操作人
|
||
}
|
||
|
||
const (
|
||
JdDeliveryStatusNew = "10010" // 待接单
|
||
JdDeliveryStatusRiderTaking = "10020" // 接单
|
||
JdDeliveryStatusChangeRider = "10022" // 更换配送员
|
||
JdDeliveryStatusToStore = "10023" // 到店
|
||
JdDeliveryStatusFail = "10025" // 取货失败
|
||
JdDeliveryStatusDelivering = "10030" // 配送中
|
||
)
|
||
|
||
// SelfDeliveryUploadCoordinate 自配送更新骑手坐标
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=194&apiid=2dd3e02df53c44d7bd098508b9bb5c41
|
||
func (a *API) SelfDeliveryUploadCoordinate(orderId int64, latitude, longitude, operateUser string) (err error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId, // 订单ID
|
||
"latitude": latitude, // 纬度
|
||
"longitude": longitude, // 经度
|
||
"operateUser": operateUser, // 操作人
|
||
"uploadDate": time.Now(), // 操作时间
|
||
}
|
||
|
||
_, err = a.AccessAPINoPage("OrderLogisticsOpenService/syncLogisticsMessage", jdParams, nil, nil, genNoPageResultParser("code", "msg", "", "0"))
|
||
|
||
return err
|
||
}
|