diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 77b672070..28476af40 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -260,12 +260,14 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m dao.UpdateEntity(db, order, "OrderFinishedAt") } else if orderStatus.Status == model.OrderStatusCanceled { order2, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) // 订单被取消,则取消三方运单 - waybill, _ := dao.GetWaybills(db, order2.VendorOrderID, []int64{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS}) - for _, v := range waybill { - if err := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID).Handler.CancelWaybill(v, 0, "订单被取消了"); err != nil { - partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消失败Err: %s", order.VendorOrderID, v.VendorWaybillID, err.Error()), "") - } else { - partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消成功", order.VendorOrderID, v.VendorWaybillID), "") + if orderStatus.OrderType == model.OrderTypeOrder { + waybill, _ := dao.GetWaybills(db, order2.VendorOrderID, []int64{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS}) + for _, v := range waybill { + if err := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID).Handler.CancelWaybill(v, 0, "订单被取消了"); err != nil { + partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消失败Err: %s", order.VendorOrderID, v.VendorWaybillID, err.Error()), "") + } else { + partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消成功", order.VendorOrderID, v.VendorWaybillID), "") + } } } // 刷新订单结束时间 diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 89cdfc9ab..cb4c5b94b 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -174,6 +174,14 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia dao.UpdateEntity(dao.GetDB(), goodsOrder, "TotalShopMoney") } } + if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderUserCancelMerchantAgreed { + afs, _ := partner.CurOrderManager.LoadAfsOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI) + afs.Status = orderStatus.Status + afs.VendorStatus = orderStatus.VendorStatus + afs.Flag = model.YES + dao.UpdateEntity(dao.GetDB(), afs, "Status", "VendorStatus", "Flag") + } + retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil) } return retVal