diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index 75c67ae9b..27ac13ec4 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -97,9 +97,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap order.Status = model.WaybillStatusUnknown } err := dadaapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), utils.Int2Str(order.Status)) - defer func(order *model.Waybill) { - delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 - }(order) + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 if order.OrderVendorID == model.VendorIDDD { result := &mtpsapi.RiderInfo{ OrderId: order.VendorOrderID, @@ -110,7 +108,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap LogisticsStatus: order.Status, OpCode: "", } - switch order.Status { + switch msg.OrderStatus { case dadaapi.OrderStatusWaitingForAccept: // 待接单,召唤骑手 result.LogisticsStatus = model.WaybillStatusNew result.LogisticsContext = model.RiderWaitRider diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index a682bee22..61aa75359 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -255,6 +255,46 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackRespon if err := partner.CurOrderManager.OnWaybillStatusChanged(order); err != nil { return fnpsapi.Err2CallbackResponse(err, "") } + + if order.OrderVendorID == model.VendorIDDD { + result := &mtpsapi.RiderInfo{ + OrderId: order.VendorOrderID, + ThirdCarrierOrderId: order.VendorOrderID, + CourierName: order.CourierName, + CourierPhone: order.CourierMobile, + LogisticsProviderCode: "10002", + LogisticsStatus: order.Status, + OpCode: "", + } + switch orderStatus { + case fnpsapi.OrderStatusAcceptCreate, fnpsapi.OrderStatusAccept: // 待接单,召唤骑手 + result.LogisticsStatus = model.WaybillStatusNew + result.LogisticsContext = model.RiderWaitRider + case fnpsapi.OrderStatusAssigned: //20分配骑手 待取货 + result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手 + result.LogisticsContext = model.RiderWaitGetGoods + case fnpsapi.OrderStatusDelivering: // 2 配送中 // 配送中 + result.LogisticsStatus = model.WaybillStatusDelivering + result.LogisticsContext = model.RiderGetOrderDelivering + case fnpsapi.OrderStatusDelivered: // 3 已经送达 // 完成 + result.LogisticsStatus = model.WaybillStatusDelivered + result.LogisticsContext = model.RiderGetOrderDelivered + case fnpsapi.OrderStatusAcceptCacle: // 取消 + result.LogisticsStatus = model.WaybillStatusCanceled + result.LogisticsContext = model.RiderGetOrderCanceled + case fnpsapi.OrderStatusException: // 5 异常: // 配送异常返回值 + result.LogisticsStatus = model.WaybillStatusDeliverFailed + result.LogisticsContext = model.RiderGetOrderDeliverFailed + case fnpsapi.OrderStatusArrived: // 80 到店 // 骑手到店 + result.LogisticsStatus = model.WaybillStatusCourierArrived + result.LogisticsContext = model.RiderToStore + default: + result.LogisticsStatus = 0 + result.LogisticsContext = model.RiderGetOrderDeliverOther + } + delivery.PullTiktokRiderInfo(result) + } + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 return fnpsapi.Err2CallbackResponse(nil, "") }