From ec6dba5ba6caacea9c53e283e304116f79d68f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Sun, 4 Feb 2024 15:35:54 +0800 Subject: [PATCH] 1 --- .../partner/purchase/tiktok_store/order.go | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 3d7f3d109..4f1a97df8 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -3,6 +3,7 @@ package tiktok_store import ( "errors" "fmt" + instantShopping_reportRiderLocation_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/instantShopping_reportRiderLocation/request" "regexp" "strings" "time" @@ -261,13 +262,38 @@ func (p *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, par vendorStoreID = order.VendorStoreID } - err = getAPI(vendorOrgCode, 0, vendorStoreID).OrderStatusAndPsInfoNew(param, vendorStoreID) - if err != nil { - partner.CurOrderManager.OnOrderMsg(order, param["opcode"].(string), "抖音配送信息回传记录异常:"+err.Error()) + api := getAPI(vendorOrgCode, 0, vendorStoreID) + // 同步骑手状态 + if err = api.OrderStatusAndPsInfoNew(param, vendorStoreID); err != nil { + partner.CurOrderManager.OnOrderMsg(order, param["opcode"].(string), "抖音订单三方配送状态信息回传记录异常:"+err.Error()) } + if err = SyncOrderRiderLine(vendorOrgCode, vendorStoreID, param); err != nil { + partner.CurOrderManager.OnOrderMsg(order, param["opcode"].(string), "抖音订单三方配送轨迹信息回传记录异常:"+err.Error()) + } + return err } +// SyncOrderRiderLine 同步骑手轨迹 +func SyncOrderRiderLine(vendorOrgCode, vendorStoreID string, param map[string]interface{}) error { + // 同步骑手轨迹(其实状态和轨迹应该分开同步才对) + param2 := &instantShopping_reportRiderLocation_request.InstantShoppingReportRiderLocationParam{ + ShopOrderId: param["order_id"].(string), + DistributionCode: tiktokShop.JxLogistics2Tiktok(param["logistics_provider_code"].(string)), + DistributionDeliveryId: param["order_id"].(string), + RiderName: param["courier_name"].(string), + RiderPhoneType: 0, + RiderPhone: param["courier_phone"].(string), + RiderLongitude: param["longitude"].(string), + RiderLatitude: param["latitude"].(string), + ReportTime: time.Now().Unix(), + } + if len(param["courier_phone"].(string)) > 11 { + param2.RiderPhoneType = 1 + } + return getAPI(vendorOrgCode, 0, vendorStoreID).OrderStatusReportRiderLocation(param2) +} + func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { order, _, err = p.getOrder(vendorOrgCode, vendorOrderID, vendorStoreID) return order, err