- refactor GetOrder

This commit is contained in:
gazebo
2019-03-21 11:09:58 +08:00
parent 9dae0c0f45
commit c2497b089f
2 changed files with 20 additions and 12 deletions

View File

@@ -45,15 +45,16 @@ func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
} }
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) { func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) {
order, _, err = p.getOrder(vendorOrderID)
return order, err
}
func (p *PurchaseHandler) getOrder(vendorOrderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
result, err := api.EbaiAPI.OrderGet(vendorOrderID) result, err := api.EbaiAPI.OrderGet(vendorOrderID)
// globals.SugarLogger.Info(result)
if err == nil { if err == nil {
order = p.Map2Order(result) order = p.Map2Order(result)
utils.CallFuncAsync(func() {
p.OnOrderDetail(result)
})
} }
return order, err return order, result, err
} }
func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) { func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) {
@@ -230,8 +231,11 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi.
func (c *PurchaseHandler) onOrderNew(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse) { func (c *PurchaseHandler) onOrderNew(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse) {
vendorOrderID := GetOrderIDFromMsg(msg) vendorOrderID := GetOrderIDFromMsg(msg)
order, err := c.GetOrder(vendorOrderID) order, orderMap, err := c.getOrder(vendorOrderID)
if err == nil { if err == nil {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap)
})
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus) err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
} }
return api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, map[string]interface{}{ return api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, map[string]interface{}{

View File

@@ -41,15 +41,16 @@ func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
return model.OrderStatusUnknown return model.OrderStatusUnknown
} }
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) { func (p *PurchaseHandler) getOrder(vendorOrderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
result, err := api.MtwmAPI.OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), true) result, err := api.MtwmAPI.OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), true)
// globals.SugarLogger.Info(result)
if err == nil { if err == nil {
order = p.Map2Order(result) order = p.Map2Order(result)
utils.CallFuncAsync(func() {
p.OnOrderDetail(result)
})
} }
return order, result, err
}
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) {
order, _, err = p.getOrder(vendorOrderID)
return order, err return order, err
} }
@@ -130,8 +131,11 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) { func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) {
var err error var err error
if msg.Cmd == mtwmapi.MsgTypeNewOrder || msg.Cmd == mtwmapi.MsgTypeOrderModified { if msg.Cmd == mtwmapi.MsgTypeNewOrder || msg.Cmd == mtwmapi.MsgTypeOrderModified {
order, err2 := c.GetOrder(GetOrderIDFromMsg(msg)) order, orderMap, err2 := c.getOrder(GetOrderIDFromMsg(msg))
if err = err2; err == nil { if err = err2; err == nil {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap)
})
if msg.Cmd == mtwmapi.MsgTypeNewOrder { if msg.Cmd == mtwmapi.MsgTypeNewOrder {
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus) err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
} else { } else {