+ RemoveSkuFromOrder

+ 美团配送调整消息正确更新订单信息
This commit is contained in:
gazebo
2019-05-01 13:38:41 +08:00
parent 3591e00636
commit c43750f2f4
3 changed files with 66 additions and 25 deletions

View File

@@ -170,14 +170,30 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
}
} else {
if status := c.callbackMsg2Status(msg); status != nil {
err = partner.CurOrderManager.OnOrderStatusChanged(status)
if err == nil && msg.Cmd == mtwmapi.MsgTypeOrderFinished {
utils.CallFuncAsync(func() {
orderMap, err := api.MtwmAPI.OrderGetOrderDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), true)
if err == nil && utils.MustInterface2Int64(orderMap["is_third_shipping"]) == SelfDeliveryCarrierNo {
c.OnOrderDetail(orderMap, partner.UpdatedPeration)
if status.Status == model.OrderStatusAdjust {
var order *model.GoodsOrder
if order, err = c.GetOrder(GetOrderIDFromMsg(msg)); err == nil {
skuList := api.MtwmAPI.GetRefundSkuDetailFromMsg(msg)
var removedSkuList []*model.OrderSku
for _, mtwmSku := range skuList {
removedSkuList = append(removedSkuList, &model.OrderSku{
SkuID: int(utils.Str2Int64WithDefault(mtwmSku.SkuID, 0)),
Count: mtwmSku.Count,
})
}
})
order = jxutils.RemoveSkuFromOrder(order, removedSkuList)
err = partner.CurOrderManager.OnOrderAdjust(order, status.VendorStatus)
}
} else {
err = partner.CurOrderManager.OnOrderStatusChanged(status)
if err == nil && msg.Cmd == mtwmapi.MsgTypeOrderFinished {
utils.CallFuncAsync(func() {
orderMap, err := api.MtwmAPI.OrderGetOrderDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), true)
if err == nil && utils.MustInterface2Int64(orderMap["is_third_shipping"]) == SelfDeliveryCarrierNo {
c.OnOrderDetail(orderMap, partner.UpdatedPeration)
}
})
}
}
}
}