141 lines
4.7 KiB
Go
141 lines
4.7 KiB
Go
package jdapi
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
)
|
||
|
||
const (
|
||
OrderStatusAddComment = "12001"
|
||
OrderStatusModifyComment = "12006"
|
||
OrderStatusTipChanged = "12008"
|
||
|
||
OrderStatusPurchased = "41000" // 也即待处理,JD的消息很怪,新订单消息发过来是32000,但如果不是自动接单的,去查却是41000?,接单后才变为32000
|
||
OrderStatusNew = "32000"
|
||
OrderStatusAdjust = "33080"
|
||
OrderStatusWaitOutStore = "32001"
|
||
OrderStatusFinishedPickup = "2"
|
||
OrderStatusDelivering = "33040"
|
||
|
||
OrderStatusDelivered = "33060"
|
||
OrderStatusFinished = "90000"
|
||
OrderStatusCanceled = "20020"
|
||
|
||
OrderStatusUserApplyCancel = "20030" // 这个其实不是一个状态,是一个动作
|
||
OrderStatusLocked = "20010"
|
||
OrderStatusUnlocked = "20050"
|
||
OrderStatusInfoChanged = "1"
|
||
)
|
||
|
||
const (
|
||
DeliveryStatusWait4Grap = "10"
|
||
DeliveryStatusAccepted = "20"
|
||
DeliveryStatusCourierCanceled = "21"
|
||
DeliveryStatusCourierArrived = "23"
|
||
DeliveryStatusFailedGetGoods = "25"
|
||
DeliveryStatusFailedGetGoodsRejected = "26"
|
||
DeliveryStatusFailedGetGoodsWaiting = "27"
|
||
DeliveryStatusGotGoods = "30"
|
||
DeliveryStatusFailedDelivery = "35"
|
||
DeliveryStatusFinished = "40"
|
||
)
|
||
|
||
const (
|
||
PromotionTypeNormal = 1
|
||
PromotionTypeSeckill = 2
|
||
PromotionTypeDirectDown = 3
|
||
PromotionTypeLimitedTime = 4
|
||
PromotionTypeAddMoneyBuy = 1202
|
||
PromotionTypeOverflowGiveGift = 1203
|
||
PromotionTypeBuyGiveGift = 6
|
||
)
|
||
|
||
func (a API) OrderQuery(jdParams map[string]interface{}) (retVal []interface{}, err error) {
|
||
retVal, err = a.AccessAPIHavePage("order/es/query", jdParams, nil, nil, nil)
|
||
return
|
||
}
|
||
|
||
// orderFreightMoney 基础运费
|
||
// tips 商家承担小费
|
||
// merchantPaymentDistanceFreightMoney 取件服务费(开票)(正向单展示远距离运费;售后单则展示达达售后运费)
|
||
// orderBaseFreightMoney ?
|
||
func (a API) QuerySingleOrder(orderId string) (map[string]interface{}, error) {
|
||
jdParams := make(map[string]interface{})
|
||
jdParams["orderId"] = orderId
|
||
result, err := a.AccessAPIHavePage("order/es/query", jdParams, nil, nil, nil)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return result[0].(map[string]interface{}), nil
|
||
}
|
||
|
||
func (a API) LegacyQuerySingleOrder(orderId string) (map[string]interface{}, error) {
|
||
jdParams := make(map[string]interface{})
|
||
jdParams["orderId"] = orderId
|
||
|
||
result, err := a.AccessAPI("order/es/query", jdParams)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
|
||
dataStr, _ := result["data"].(string)
|
||
var data map[string]interface{}
|
||
utils.UnmarshalUseNumber([]byte(dataStr), &data)
|
||
result["data"] = data
|
||
|
||
var dataResult map[string]interface{}
|
||
utils.UnmarshalUseNumber([]byte(data["result"].(string)), &dataResult)
|
||
data["result"] = dataResult
|
||
|
||
return result, nil
|
||
}
|
||
|
||
func (a API) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId,
|
||
"isAgreed": utils.Bool2String(isAgreed),
|
||
"operator": utils.GetAPIOperator(),
|
||
}
|
||
return a.AccessAPINoPage("ocs/orderAcceptOperate", jdParams, nil, nil)
|
||
}
|
||
|
||
// 拣货完成且众包配送接口
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=ed93745b86c6487eaaea5f55a84785ac
|
||
func (a API) OrderJDZBDelivery(orderId string) (interface{}, error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId,
|
||
"operator": utils.GetAPIOperator(),
|
||
}
|
||
return a.AccessAPINoPage("/bm/open/api/order/OrderJDZBDelivery", jdParams, nil, nil)
|
||
}
|
||
|
||
// 订单达达配送转商家自送接口
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=e7b4950164754eecac7ea87278c2b071
|
||
func (a API) ModifySellerDelivery(orderId string) (interface{}, error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId,
|
||
"updatePin": utils.GetAPIOperator(),
|
||
}
|
||
return a.AccessAPINoPage("order/modifySellerDelivery", jdParams, nil, nil)
|
||
}
|
||
|
||
// 拣货完成且商家自送接口
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=0e08e71a45dc48b6a337e06a852ac33a
|
||
func (a API) OrderSerllerDelivery(orderId string) (interface{}, error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId,
|
||
"operator": utils.GetAPIOperator(),
|
||
}
|
||
return a.AccessAPINoPage("bm/open/api/order/OrderSerllerDelivery", jdParams, nil, nil)
|
||
}
|
||
|
||
// 商家自送,订单妥投接口
|
||
// https://opendj.jd.com/staticnew/widgets/resources.html?groupid=169&apiid=ecc80f06d35141979f4841f345001f74
|
||
func (a API) DeliveryEndOrder(orderId string) (interface{}, error) {
|
||
jdParams := map[string]interface{}{
|
||
"orderId": orderId,
|
||
"operator": utils.GetAPIOperator(),
|
||
"operTime": utils.GetCurTimeStr(),
|
||
}
|
||
return a.AccessAPINoPage("ocs/deliveryEndOrder", jdParams, nil, nil)
|
||
}
|