diff --git a/business/cs/weimob_order.go b/business/cs/weimob_order.go index cdcb2e0ec..32189ab8b 100644 --- a/business/cs/weimob_order.go +++ b/business/cs/weimob_order.go @@ -28,13 +28,15 @@ func OnCallbackMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResp func onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) { globals.SugarLogger.Debugf("onOrderMsg:%s", utils.Format4Output(msg, true)) if msg.Event == weimobapi.MsgEventOrderStatusChange { - if orderDetail, err := api.WeimobAPI.QueryOrderDetail2(msg.OrderNo, false); err == nil { - if orderDetail.OrderStatus == weimobapi.OrderStatusFinished && orderDetail.PaymentAmount >= minCSOrderPayment { - changeStoreSkusByOrder(orderDetail) + if utils.ForceInterface2Int64(msg.MsgBody["orderStatus"]) == weimobapi.MsgOrderStatusFinished { + if orderDetail, err := api.WeimobAPI.QueryOrderDetail2(msg.OrderNo, false); err == nil { + if orderDetail.OrderStatus == weimobapi.OrderStatusFinished && orderDetail.PaymentAmount >= minCSOrderPayment { + changeStoreSkusByOrder(orderDetail) + } + } else { + globals.SugarLogger.Debugf("onOrderMsg order:%s failed with err:%v", msg.OrderNo, err) + response = weimobapi.Err2CallbackResponse(err, "") } - } else { - globals.SugarLogger.Debugf("onOrderMsg order:%s failed with err:%v", msg.OrderNo, err) - response = weimobapi.Err2CallbackResponse(err, "") } } return response @@ -43,8 +45,7 @@ func onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackRespons func changeStoreSkusByOrder(order *weimobapi.OrderDetail) { globals.SugarLogger.Debugf("changeStoreSkusByOrder order:%s", utils.Format4Output(order, true)) receiverMobile := order.DeliveryDetail.LogisticsDeliveryDetail.ReceiverMobile - storeList, err := dao.GetStoreList(dao.GetDB(), nil, []string{receiverMobile}, "") - if err != nil { + if storeList, err := dao.GetStoreList(dao.GetDB(), nil, []string{receiverMobile}, ""); err == nil { if len(storeList) == 1 { var skuBindInfos []*cms.StoreSkuBindInfo storeID := storeList[0].ID