From fd80923b4c9496226788887092faf6921b0239dd Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 26 Jun 2019 22:55:40 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A4=84=E7=90=86=E9=A5=BF=E7=99=BE?= =?UTF-8?q?=E9=99=8D=E7=BA=A7=E8=AE=A2=E5=8D=95=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/order.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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) } }