This commit is contained in:
richboo111
2022-11-01 09:57:52 +08:00
6 changed files with 43 additions and 9 deletions

View File

@@ -17,4 +17,5 @@ type RiderInfo struct {
LogisticsContext string `json:"logistics_context"` // 配送状态描述
Latitude string `json:"latitude"` // 骑手当前的纬度,美团使用的是高德坐标系。
Longitude string `json:"longitude"` // 骑手当前的经度,美团使用的是高德坐标系。
OpCode string `json:"opcode"` // 抖音状态(抖音才需要)
}

View File

@@ -8,7 +8,7 @@ import (
)
var token = `{"access_token":"c4afc5bc-7ddf-4244-b35a-0c393f3dca32","expires_in":1667203717,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"5a4f9dfe-306b-4bca-8b35-2ae9afc0245e","authority_id":""}`
var a = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
var a = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", "")
// 查询售后单详情
func TestAfsOrder(t *testing.T) {

View File

@@ -98,3 +98,14 @@ func TestYearDay(t *testing.T) {
func TestApplyMarketAfterSale(t *testing.T) {
a.ApplyMarketAfterSale(4994383659114192282, 2, 3)
}
func TestOrderStatusAndPsInfo(t *testing.T) {
a := NewExpress("7153997323561879075", "3517d3ea-b96b-4379-a7a4-2d9389e8ffeb", "")
a.CreateToken()
param := make(map[string]interface{}, 0)
param["third_carrier_order_id"] = "1412986874296139776"
param["logistics_context"] = "骑手送达2"
param["courier_name"] = "刘磊"
param["courier_phone"] = "18981810340"
a.OrderStatusAndPsInfo(param)
}

View File

@@ -126,13 +126,9 @@ func (a *APIExpress) OrderStatusAndPsInfo(param map[string]interface{}) error {
TrackNo: param["third_carrier_order_id"].(string),
Traces: []logistics_indTrackPush_reqeust.TracesList{
{
Opcode: "ORDER_RECEIVED",
OpTime: utils.Time2TimeStr(time.Now()),
Content: param["logistics_context"].(string),
Rider: logistics_indTrackPush_reqeust.ReiderInfo{
Name: param["courier_name"].(string),
Mobile: param["courier_phone"].(string),
},
Opcode: param["opcode"].(string),
OpTime: utils.Time2Str(time.Now()),
Content: param["logistics_context"].(string),
ThirdPartyCompany: TiktokExpressCode,
ExceptionCode: "",
ExceptionDesc: "",
@@ -141,6 +137,14 @@ func (a *APIExpress) OrderStatusAndPsInfo(param map[string]interface{}) error {
},
},
}
if param["courier_name"] != "" && param["courier_name"] != nil {
rider := logistics_indTrackPush_reqeust.ReiderInfo{
Name: param["courier_name"].(string),
Mobile: param["courier_phone"].(string),
}
traceMsg.Traces[0].Rider = rider
}
traceMsgs = append(traceMsgs, traceMsg)
psInfo.TraceMsgs = traceMsgs
request.Param = psInfo
@@ -148,10 +152,12 @@ func (a *APIExpress) OrderStatusAndPsInfo(param map[string]interface{}) error {
globals.SugarLogger.Debugf("OrderStatusAndPsInfo=========:%s", utils.Format4Output(request.Param, false))
if a.accessTokenObj == nil || a.accessTokenObj.CreateTokenData.AccessToken == "" {
a.CreateToken()
} else if a.accessTokenObj.CreateTokenData.ExpiresIn < time.Now().Unix() {
} else if a.expiresIn < time.Now().Unix() {
a.RefreshToken()
}
result, err := request.Execute(a.accessTokenObj)
globals.SugarLogger.Debugf("OrderStatusAndPsInfo result :%s", utils.Format4Output(result, false))
globals.SugarLogger.Debugf("OrderStatusAndPsInfo err :%s", err)
if err != nil {
return err
}

View File

@@ -605,6 +605,9 @@ func (a *API) OrderDelivering(param *order_logisticsAdd_request.OrderLogisticsAd
if err != nil {
return err
}
if result.Code == RequestSuccessRepeatedShipment {
return nil
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
}

View File

@@ -1,6 +1,7 @@
package tiktok_api
const RequestSuccessCode = 10000
const RequestSuccessRepeatedShipment = 50002 // 订单已发货,不允许再次执行发货
const TiktokExpressCode = "chengdouruoxi"
const (
@@ -183,3 +184,15 @@ const (
MaxRetailDiscountCreateBatchSize = 200
MaxRetailDiscountDeleteBatchSize = 100
)
const (
TiktokLogisticsStatusCALLRIDER = "CALL_RIDER" // 呼叫骑手
TiktokLogisticsORDERRECEIVED = "ORDER_RECEIVED" // 已接单
TiktokLogisticsRIDERARRIVED = "RIDER_ARRIVED" // 已到店
TiktokLogisticsRIDERPICKUP = "RIDER_PICK_UP" // 已取货
TiktokLogisticsDELIVERED = "DELIVERED" // 已送达
TiktokLogisticsDELIVERYOFFLINE = "DELIVERY_OFFLINE" // 此单由商家自行配送,具体配送进度请咨询商家
TiktokLogisticsCHANGERIDER = "CHANGE_RIDER" // 更换骑手,继续为您配送
TiktokLogisticsINDDELIVERYEXCEPTION = "IND_DELIVERY_EXCEPTION" // 订单配送异常,异常原因
TiktokLogisticsCANCELDELIVERY = "CANCEL_DELIVERY" // 订单配送取消
)