From 81efff63803d460c91d4c964922bbe185dc2a851 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 21 Mar 2019 16:46:52 +0800 Subject: [PATCH] - OnOrderDetail --- business/partner/purchase/ebai/order.go | 9 ++++---- business/partner/purchase/jd/financial.go | 4 ++++ business/partner/purchase/jd/order.go | 26 +++++++++++++++-------- business/partner/purchase/mtwm/order.go | 8 ++++--- 4 files changed, 31 insertions(+), 16 deletions(-) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index e4f7bedd1..da9b582a7 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -233,10 +233,11 @@ func (c *PurchaseHandler) onOrderNew(msg *ebaiapi.CallbackMsg) (response *ebaiap vendorOrderID := GetOrderIDFromMsg(msg) order, orderMap, err := c.getOrder(vendorOrderID) if err == nil { - utils.CallFuncAsync(func() { - c.OnOrderDetail(orderMap) - }) - err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus) + if err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus); err == nil { + utils.CallFuncAsync(func() { + c.OnOrderDetail(orderMap) + }) + } } return api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, map[string]interface{}{ "source_order_id": vendorOrderID, diff --git a/business/partner/purchase/jd/financial.go b/business/partner/purchase/jd/financial.go index ee75dd8dc..ba8fcc853 100644 --- a/business/partner/purchase/jd/financial.go +++ b/business/partner/purchase/jd/financial.go @@ -5,3 +5,7 @@ import "git.rosy.net.cn/baseapi/platformapi/jdapi" func OnFinancialMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) { return retVal } + +func (p *PurchaseHandler) OnOrderDetail(orderDetail map[string]interface{}) (err error) { + return err +} diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 43361b2fa..ca31df3dc 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -61,7 +61,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi return retVal } -func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) { +func (c *PurchaseHandler) getOrder(orderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) { globals.SugarLogger.Debugf("jd GetOrder orderID:%s", orderID) var ( result map[string]interface{} @@ -91,6 +91,11 @@ func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err // globals.SugarLogger.Warnf("jd GetOrder orderID:%s, GetRealMobile4Order failed with error:%v", orderID, err2) } } + return order, result, err +} + +func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) { + order, _, err = c.getOrder(orderID) return order, err } @@ -182,12 +187,13 @@ func setOrederDetailFee(result map[string]interface{}, order *model.GoodsOrder) // func (c *PurchaseHandler) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) { - order, err := c.GetOrder(msg.BillID) + order, orderMap, err := c.getOrder(msg.BillID) if err == nil { - err = partner.CurOrderManager.OnOrderNew(order, msg.StatusID) - // if err == nil { - // c.legacyWriteJdOrder(order, false) - // } + if err = partner.CurOrderManager.OnOrderNew(order, msg.StatusID); err == nil { + utils.CallFuncAsync(func() { + c.OnOrderDetail(orderMap) + }) + } } return jdapi.Err2CallbackResponse(err, "jd onOrderNew") } @@ -196,9 +202,11 @@ func (c *PurchaseHandler) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.Call order, err := c.GetOrder(msg.BillID) if err == nil { err = partner.CurOrderManager.OnOrderAdjust(order, msg.StatusID) - // if globals.HandleLegacyJxOrder && err == nil { - // c.legacyWriteJdOrder(order, true) - // } + if err == nil { + utils.CallFuncAsync(func() { + c.OnOrderDetail(orderMap) + }) + } } return jdapi.Err2CallbackResponse(err, "jd onOrderAdjust") } diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 27d1b5108..9e73ed96d 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -133,14 +133,16 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap if msg.Cmd == mtwmapi.MsgTypeNewOrder || msg.Cmd == mtwmapi.MsgTypeOrderModified { order, orderMap, err2 := c.getOrder(GetOrderIDFromMsg(msg)) if err = err2; err == nil { - utils.CallFuncAsync(func() { - c.OnOrderDetail(orderMap) - }) if msg.Cmd == mtwmapi.MsgTypeNewOrder { err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus) } else { err = partner.CurOrderManager.OnOrderAdjust(order, order.VendorStatus) } + if err == nil { + utils.CallFuncAsync(func() { + c.OnOrderDetail(orderMap) + }) + } } } else { // todo 好像没有“商家已收到”消息回调,是否需要模拟?