This commit is contained in:
邹宗楠
2024-05-29 14:21:00 +08:00
parent 3a43313278
commit 6fb3341573
2 changed files with 58 additions and 36 deletions

View File

@@ -830,39 +830,3 @@ func (a *API) ComplaintDadaDeliver(orderID string, resonID int) (err error) {
_, err = a.AccessAPINoPage("order/complaintDadaDeliverForPlatForm", jdParams, nil, nil, nullResultParser)
return err
}
// 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" // 配送中
)

View File

@@ -0,0 +1,58 @@
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
}