diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 0f36ca619..5c8b74d69 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -660,15 +660,14 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St return skuList, err } -func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuName []*model.SkuName, err error) { +func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuAndName []*model.SkuAndName, err error) { sql := ` - SELECT t3.* + SELECT t3.*, t4.name, t4.unit, t4.prefix FROM( - SELECT SUM(b.count) count,d.id + SELECT SUM(b.count) count,c.id FROM goods_order a JOIN order_sku b ON a.vendor_order_id = b.vendor_order_id JOIN sku c ON b.sku_id = c.id AND c.deleted_at = ? - JOIN sku_name d ON d.id = c.name_id AND d.deleted_at = ? WHERE 1=1 AND a.order_created_at BETWEEN ? and NOW() ` @@ -683,14 +682,15 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuName []*model.SkuName, } sql += ` AND b.sale_price > ? - GROUP BY d.id)t1 - JOIN sku_name t3 ON t1.id = t3.id + GROUP BY c.id)t1 + JOIN sku t3 ON t1.id = t3.id + JOIN sku_name t4 ON t3.name_id = t4.id ORDER BY t1.count DESC LIMIT ? ` sqlParams = append(sqlParams, 100, 30) - err = GetRows(db, &skuName, sql, sqlParams...) - return skuName, err + err = GetRows(db, &skuAndName, sql, sqlParams...) + return skuAndName, err } func GetTopCategorysByStoreIDs(db *DaoDB, storeIDs []int) (skuCategory []*model.SkuCategory, err error) {