From d4ec1dd0f33ce58bca54fc3c7953bd155347b8dd Mon Sep 17 00:00:00 2001 From: gazebo Date: Sun, 28 Oct 2018 14:10:58 +0800 Subject: [PATCH] - try exported table first in GetOrderSkuInfo --- business/jxcallback/orderman/orderman_ext.go | 45 +++++++++++++++----- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index dae551faa..fbf5f71af 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -87,17 +87,40 @@ func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID str globals.SugarLogger.Debugf("GetOrderSkuInfo orderID:%s", vendorOrderID) if globals.OrderUseNewTable { db := dao.GetDB() - err = dao.GetRows(db, &skus, ` - SELECT t1.*, t3.img image - FROM order_sku t1 - LEFT JOIN sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id AND t2.deleted_at = ? - LEFT JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? - WHERE t1.vendor_order_id = ? AND t1.vendor_id = ? - ORDER BY t1.sku_name - `, utils.DefaultTimeValue, utils.DefaultTimeValue, vendorOrderID, vendorID) - if err != nil { - globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err) - return nil, err + if vendorID == model.VendorIDELM { + err = dao.GetRows(db, &skus, ` + SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.col_imageUrl, t3.img) image + FROM order_sku t1 + LEFT JOIN sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id AND t2.deleted_at = ? + LEFT JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? + LEFT JOIN ede_skus t4 ON t1.vendor_sku_id = t4.col_id + WHERE vendor_order_id = ? AND vendor_id = ? + ORDER BY t1.sku_name + `, utils.DefaultTimeValue, utils.DefaultTimeValue, vendorOrderID, vendorID) + } else if vendorID == model.VendorIDJD { + err = dao.GetRows(db, &skus, ` + SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.image, t3.img) image + FROM order_sku t1 + LEFT JOIN sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id AND t2.deleted_at = ? + LEFT JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? + LEFT JOIN jde_sku_infos t4 ON t1.vendor_sku_id = t4.skuId + WHERE vendor_order_id = ? AND vendor_id = ? + ORDER BY t1.sku_name + `, utils.DefaultTimeValue, utils.DefaultTimeValue, vendorOrderID, vendorID) + } + if err != nil || len(skus) == 0 { + err = dao.GetRows(db, &skus, ` + SELECT t1.*, t3.img image + FROM order_sku t1 + LEFT JOIN sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id AND t2.deleted_at = ? + LEFT JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? + WHERE t1.vendor_order_id = ? AND t1.vendor_id = ? + ORDER BY t1.sku_name + `, utils.DefaultTimeValue, utils.DefaultTimeValue, vendorOrderID, vendorID) + if err != nil { + globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err) + return nil, err + } } if len(skus) == 0 { return nil, ErrCanNotFindOrder