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