From 6d148fd0c8d974bc2cfe7d5b62fa284d74a6845f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 7 Jan 2020 10:28:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E8=8D=90=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/store_sku.go | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index fdb96a4d8..c645d881e 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -1054,7 +1054,7 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSkuNameExt, err error) { sql := ` - SELECT t2.id sku_id,t3.*,t1.store_id,t1.store_name + SELECT 1 s, t1.count, t2.id sku_id, t3.*, t1.store_id, t1.store_name FROM( SELECT SUM(b.count) count,c.id,a.store_id,d.name store_name FROM goods_order a @@ -1082,10 +1082,32 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk GROUP BY 2,3,4)t1 JOIN sku t2 ON t2.id = t1.id JOIN sku_name t3 ON t3.id = t2.name_id - ORDER BY t1.count DESC + UNION ALL + SELECT 2 s, 0 count, a.sku_id, g.*, a.store_id, d.name store_name + FROM store_sku_bind a + LEFT JOIN act_store_sku b ON a.store_id = b.store_id AND b.sku_id = a.sku_id + LEFT JOIN act_map c ON c.act_id = b.act_id + LEFT JOIN act d ON d.id = c.act_id + JOIN store e ON e.id = a.store_id + JOIN sku f ON a.sku_id = f.id AND f.deleted_at = ? + JOIN sku_name g ON g.id = f.name_id AND g.deleted_at = ? + WHERE 1=1 + ` + sqlParams = append(sqlParams, salePriceLimit, utils.DefaultTimeValue, utils.DefaultTimeValue) + if len(storeIDs) > 0 { + sql += " AND a.store_id IN(" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + sql += + ` + AND NOW() BETWEEN d.begin_at AND d.end_at + AND a.status = ? + AND a.deleted_at = ? + AND (d.type = ? OR d.type = ?) + ORDER BY 1,2 DESC LIMIT ? ` - sqlParams = append(sqlParams, salePriceLimit, 30) + sqlParams = append(sqlParams, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, model.ActSkuDirectDown, model.ActSkuSecKill, 30) err = GetRows(db, &storeSkuNameExt, sql, sqlParams...) var skuNamesInfo = &StoreSkuNamesInfo{ SkuNames: storeSkuNameExt,