diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 1792f0aed..137f98f9d 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -1,6 +1,7 @@ package orderman import ( + "fmt" "strconv" "time" @@ -88,37 +89,41 @@ func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID st func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (skus []*model.OrderSkuExt, err error) { globals.SugarLogger.Debugf("GetOrderSkuInfo orderID:%s", vendorOrderID) if globals.OrderUseNewTable { + fullSkuNameSQL := "t1.sku_name" + if vendorID == model.VendorIDJD { + fullSkuNameSQL = "CONCAT(t1.sku_name, IF(t3.is_spu = 1, CONCAT('约', t2.spec_quality, t2.spec_unit, '/', t3.unit, ';'), ''))" + } db := dao.GetDB() 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 + err = dao.GetRows(db, &skus, fmt.Sprintf(` + SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.col_imageUrl, t3.img) image, %s full_sku_name 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) + `, fullSkuNameSQL), 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 + err = dao.GetRows(db, &skus, fmt.Sprintf(` + SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.image, t3.img) image, %s full_sku_name 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) + `, fullSkuNameSQL), utils.DefaultTimeValue, utils.DefaultTimeValue, vendorOrderID, vendorID) } if err != nil || len(skus) == 0 { - err = dao.GetRows(db, &skus, ` - SELECT t1.*, t3.img image + err = dao.GetRows(db, &skus, fmt.Sprintf(` + SELECT t1.*, t3.img image, %s full_sku_name 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) + `, fullSkuNameSQL), 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 diff --git a/business/model/api.go b/business/model/api.go index a68a0ac1d..152d1a473 100644 --- a/business/model/api.go +++ b/business/model/api.go @@ -25,7 +25,8 @@ type GoodsOrderExt struct { type OrderSkuExt struct { OrderSku - Image string `json:"image"` + FullSkuName string `json:"fullSkuName"` + Image string `json:"image"` } type GoodsOrderCountInfo struct {