From ffd85f9366cc86b07a964639f7b9c4db0f75bfcf Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 24 Aug 2018 17:01:58 +0800 Subject: [PATCH] - fk3 --- business/jxcallback/orderman/orderman_ext.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 7ad211c4c..0152217d1 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -116,10 +116,8 @@ func (c *OrderManager) GetOrderSkuInfo(vendorOrderID string, vendorID int) (skus } if err == nil { err = ErrCanNotFindOrder - globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d can not find order, num:%d", vendorOrderID, vendorID, num) - } else { - globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err) } + globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err) return nil, err } @@ -127,18 +125,20 @@ func (c *OrderManager) GetOrderInfo(vendorOrderID string, vendorID int) (order * globals.SugarLogger.Debugf("GetOrderInfo orderID:%s", vendorOrderID) db := orm.NewOrm() orders := []*model.GoodsOrderExt{} + + // 这里用QueryRows而不用QueryRow的原因是用QueryRow在这种情况下不能将数据读出,很奇怪。大概的原因是QueryRow对于GoodsOrderExt这种有嵌入的struct处理有问题 num, err := db.Raw(` SELECT t1.*, t2.status waybill_status, t2.courier_name, t2.courier_mobile FROM goods_order t1 LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id WHERE t1.vendor_order_id = ? AND vendor_id = ? `, vendorOrderID, vendorID).QueryRows(&orders) - if err == nil && num == 1 { + if err == nil && num > 0 { order = orders[0] globals.SugarLogger.Debug(order) return order, nil } - if err == orm.ErrNoRows || num == 0 { + if err == nil { err = ErrCanNotFindOrder } globals.SugarLogger.Infof("GetOrderInfo orderID:%s failed with error:%v", vendorOrderID, err) @@ -148,7 +148,7 @@ func (c *OrderManager) GetOrderInfo(vendorOrderID string, vendorID int) (order * func (c *OrderManager) GetOrderWaybillInfo(vendorOrderID string, vendorID int) (bills []*model.Waybill, err error) { globals.SugarLogger.Debugf("GetOrderWaybillInfo orderID:%s", vendorOrderID) db := orm.NewOrm() - num, err := db.Raw(` + _, err = db.Raw(` SELECT t1.* FROM waybill t1 WHERE t1.vendor_order_id = ? AND order_vendor_id = ? @@ -156,9 +156,6 @@ func (c *OrderManager) GetOrderWaybillInfo(vendorOrderID string, vendorID int) ( if err == nil { return bills, nil } - if num == 0 { - err = ErrCanNotFindOrder - } globals.SugarLogger.Infof("GetOrderWaybillInfo orderID:%s failed with error:%v", vendorOrderID, err) return nil, err }