- 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) {
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)
// globals.SugarLogger.Info(result)
if err == nil {
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) {
@@ -230,8 +231,11 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi.
func (c *PurchaseHandler) onOrderNew(msg *ebaiapi.CallbackMsg) (response *ebaiapi.CallbackResponse) {
vendorOrderID := GetOrderIDFromMsg(msg)
order, err := c.GetOrder(vendorOrderID)
order, orderMap, err := c.getOrder(vendorOrderID)
if err == nil {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap)
})
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
}
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
}
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)
// globals.SugarLogger.Info(result)
if err == nil {
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
}
@@ -130,8 +131,11 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse) {
var err error
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 {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap)
})
if msg.Cmd == mtwmapi.MsgTypeNewOrder {
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
} else {