Files
baseapi/platformapi/jdapi/order_delivery.go
邹宗楠 6fb3341573 1
2024-05-29 14:21:00 +08:00

59 lines
3.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}