diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 022aa1d37..9aa901588 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -622,6 +622,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo if order.Status > model.OrderStatusEndBegin { s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime) s.SelfDeliverDelivered(order, "自送或三方") + partner.CurOrderManager.OnOrderMsg(order, "订单处于结束状态来的运单", "取消三方运单,转自送") } // 判断订单来源与运单是否为同一来源 if model.IsWaybillPlatformOwn(bill) { @@ -639,7 +640,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo // 如果转自送失败,且取消三方失败,循环多次转自送 s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, switch2SelfDeliverRetryCount, switch2SelfDeliverRetryGap) } - partner.CurOrderManager.OnOrderMsg(order, "自送出设置失败", err.Error()) + partner.CurOrderManager.OnOrderMsg(order, "转自送失败,并多次转自送", err.Error()) } s.notify3rdPartyWaybill(order, bill, isBillAlreadyCandidate) } else { diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index 44548e4cc..03e561b28 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" @@ -200,23 +201,20 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf // 订单状态 func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackResponse) { - cc := &fnpsapi.OrderCallbackParam{} - if err := utils.Map2StructByJson(msg.Param, cc, true); err != nil { - globals.SugarLogger.Debugf("FNPS strconv.Atoi fail :[%s]", err) - return fnpsapi.Err2CallbackResponse(err, "") - } - order := &model.Waybill{ - VendorWaybillID: utils.Int64ToStr(cc.OrderId), - VendorWaybillID2: cc.PartnerOrderCode, + VendorWaybillID: utils.Int64ToStr(msg.Param.OrderId), + VendorWaybillID2: msg.Param.PartnerOrderCode, WaybillVendorID: model.VendorIDFengNiao, - CourierName: cc.CarrierDriverName, - CourierMobile: cc.CarrierDriverPhone, - VendorStatus: utils.Int2Str(cc.OrderStatus), - StatusTime: utils.Timestamp2Time(cc.PushTime), - Remark: cc.Description, + CourierName: msg.Param.CarrierDriverName, + CourierMobile: msg.Param.CarrierDriverPhone, + VendorStatus: utils.Int2Str(msg.Param.OrderStatus), + StatusTime: utils.Timestamp2Time(msg.Param.PushTime), + Remark: msg.Param.Description, } - order.VendorOrderID, order.OrderVendorID = jxutils.SplitUniversalOrderID(cc.PartnerOrderCode) + if msg.Param.PushTime == 0 { + order.StatusTime = time.Now() + } + order.VendorOrderID, order.OrderVendorID = jxutils.SplitUniversalOrderID(utils.Int64ToStr(msg.Param.OrderId)) orderStatus, err := strconv.Atoi(order.VendorStatus) if err != nil { globals.SugarLogger.Debugf("FNPS strconv.Atoi fail :[%s]", err)