diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 9aa901588..6f8a12606 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -523,10 +523,13 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo s.addWaybill2Map(savedOrderInfo, bill) if !isPending { if order.Status > model.OrderStatusEndBegin { + // 订单处于完成状态,来的新运单,取消三方配送,转自送! s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime) + s.SelfDeliverDelivered(order, "自送或三方") + partner.CurOrderManager.OnOrderMsg(order, "订单处于结束状态来的运单", "取消三方运单,转自送1") } else { needAddTip := order.WaybillTipMoney > 0 && !model.IsWaybillPlatformOwn(bill) - if model.IsOrderHaveWaybill(order) { + if model.IsOrderHaveWaybill(order) {// 是否有有效运单 globals.SugarLogger.Debugf("OnWaybillStatusChanged multiple waybill created, bill:%v", bill) if model.IsWaybillPlatformOwn(bill) { // 是购物平台运单 if !model.IsOrderHaveOwnWaybill(order) { // 既有运单不是购物平台运单 diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index 44548e4cc..d843b6786 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -6,6 +6,7 @@ import ( "git.rosy.net.cn/baseapi/utils" "strconv" "strings" + "time" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/partner/delivery" @@ -216,6 +217,9 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackRespon StatusTime: utils.Timestamp2Time(cc.PushTime), Remark: cc.Description, } + if cc.PushTime == 0 { + order.StatusTime = time.Now() + } order.VendorOrderID, order.OrderVendorID = jxutils.SplitUniversalOrderID(cc.PartnerOrderCode) orderStatus, err := strconv.Atoi(order.VendorStatus) if err != nil { diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 2ceb52136..3273915e6 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -52,7 +52,7 @@ func GetOrderRiderInfoToPlatform(orderId string) { //4.如订单已完成、已取消等状态发货将失败。 for _, v := range orders { globals.SugarLogger.Debug("==========orderId,vendorId,waybillId:", v.VendorOrderID, v.VendorID, v.WaybillVendorID) - var riderInfo *mtpsapi.RiderInfo + riderInfo:= &mtpsapi.RiderInfo{} if handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID); handlerInfo != nil { if v.WaybillVendorID == model.VendorIDDada || v.WaybillVendorID == model.VendorIDFengNiao { riderInfo, err = handlerInfo.Handler.GetRiderInfo(v.VendorOrderID, 0, "") @@ -72,6 +72,10 @@ func GetOrderRiderInfoToPlatform(orderId string) { continue } } + if riderInfo.CourierName == "" { + globals.SugarLogger.Debug("同步外卖骑手位置信息到美团失败,为获取到订单的骑手信息:", "----") + continue + } // 目前只推送美团骑手信息 switch v.VendorID {