From e57eb1bb8188014668a0d45b6f51fa1dc447607a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 22 Dec 2022 19:30:13 +0800 Subject: [PATCH] 1 --- business/partner/purchase/jd/order.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 3f355e37d..e8078dc2b 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -76,7 +76,7 @@ func (c *PurchaseHandler) updateOrderFinancialInfo(a *jdapi.API, orderID string) orderSettlement, err := a.OrderShoudSettlementService2(orderID) if err == nil { if orderSettlement != nil { - updateOrderBySettleMent(order, orderSettlement) + UpdateOrderBySettleMent(order, orderSettlement) err = partner.CurOrderManager.UpdateOrderFields(order, []string{ /*"WaybillTipMoney", */ "TotalShopMoney", "PmSubsidyMoney", "NewEarningPrice"}) } } @@ -95,6 +95,15 @@ func (c *PurchaseHandler) onOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 { return nil } + + // 可能没啥用,更主要是想更新订单的结算价 + if status.Status == model.OrderStatusFinishedPickup { + order, _, _ := c.getOrder(a, msg.BillID) + orderSettlement, _ := a.OrderShoudSettlementService2(status.VendorOrderID) + UpdateOrderBySettleMent(order, orderSettlement) + partner.CurOrderManager.UpdateOrderFields(order, []string{"NewEarningPrice"}) + } + if msg.MsgURL == jdapi.CallbackMsgOrderAccounting { retVal = c.OnFinancialMsg(msg) retVal = jdapi.Err2CallbackResponse(c.updateOrderFinancialInfo(a, msg.BillID), status.VendorStatus) @@ -174,7 +183,7 @@ func (c *PurchaseHandler) onOrderInfoChangeMsg(vendorOrgCode string, msg *jdapi. return jdapi.SuccessResponse } -func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.OrderSettlementInfo) { +func UpdateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.OrderSettlementInfo) { if orderSettlement != nil { order.TotalShopMoney = orderSettlement.SettlementAmount order.PmSubsidyMoney = orderSettlement.PlatOrderGoodsDiscountMoney + orderSettlement.PlatSkuGoodsDiscountMoney @@ -227,7 +236,7 @@ func (c *PurchaseHandler) getOrder(a *jdapi.API, orderID string) (order *model.G task.Run() _, err = task.GetResult(0) if order != nil && orderSettlement != nil { - updateOrderBySettleMent(order, orderSettlement) + UpdateOrderBySettleMent(order, orderSettlement) err = partner.CurOrderManager.UpdateOrderFields(order, []string{"NewEarningPrice"}) } return order, orderMap, err @@ -451,7 +460,7 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo } if err == nil { orderSettlement, _ := getAPI(order.VendorOrgCode).OrderShoudSettlementService2(order.VendorOrderID) - updateOrderBySettleMent(order, orderSettlement) + UpdateOrderBySettleMent(order, orderSettlement) err = partner.CurOrderManager.UpdateOrderFields(order, []string{"NewEarningPrice"}) } return err