diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 1493dcffa..9e43f29f3 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -110,6 +110,7 @@ type StoreSkuNameInfo struct { } type SkuAndNameExt struct { + SkuID int `orm:"column(sku_id)" json:"skuID"` model.SkuName Skus []*model.Sku `orm:"-" json:"skus,omitempty"` } @@ -667,13 +668,12 @@ func GetStoreSkusByNameIDs(db *DaoDB, storeIDs []int, nameID int) (skuList []*St func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuAndNameExt []*SkuAndNameExt, err error) { sql := ` - SELECT t3.* + SELECT t2.id sku_id,t3.* 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() ` @@ -688,8 +688,9 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuAndNameExt []*SkuAndNam } 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 t2 ON t2.id = t1.id + JOIN sku_name t3.id = t2.name_id ORDER BY t1.count DESC LIMIT ? ` @@ -700,11 +701,11 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (skuAndNameExt []*SkuAndNam sql2 := ` SELECT * FROM sku - WHERE name_id = ? + WHERE id = ? AND deleted_at = ? ` sqlParams2 := []interface{}{ - v.ID, + v.SkuID, utils.DefaultTimeValue, } err = GetRows(db, &skus, sql2, sqlParams2...)