diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index fb327a5de..c3f67ac9d 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -350,6 +350,20 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi. err = partner.CurOrderManager.OnOrderAdjust(order, status) } } else { + // 处理饿百降级订单的情况 + // 是否降级;1:是,0:否;极少数订单因网络或信息交互异常,导致订单部分字段(如订单金额)生成延迟,此时订单会被标记为“已降级”状态,需开发者重新调用查看订单详情接口获取完整订单数据。 + // toto sku是否也需要处理? + if status.Status == model.OrderStatusFinished { + if order, err2 := partner.CurOrderManager.LoadOrder(status.VendorOrderID, status.VendorID); err2 == nil { + if order.TotalShopMoney == 0 { + if order2, err2 := c.GetOrder(status.VendorOrderID); err2 == nil { + order.TotalShopMoney = order2.TotalShopMoney + order.PmSubsidyMoney = order2.PmSubsidyMoney + partner.CurOrderManager.UpdateOrderFields(order, []string{"TotalShopMoney", "PmSubsidyMoney"}) + } + } + } + } err = partner.CurOrderManager.OnOrderStatusChanged(status) } }