This commit is contained in:
苏尹岚
2021-02-01 13:39:05 +08:00
parent 353670289a
commit 21c7f69ac8

View File

@@ -1216,6 +1216,7 @@ func GetTopCategoriesByStoreIDs(db *DaoDB, storeIDs []int, limit int) (skuCatego
func GetStoreSkuCategories(db *DaoDB, storeID, parentID int) (catList []*model.SkuCategory, err error) { func GetStoreSkuCategories(db *DaoDB, storeID, parentID int) (catList []*model.SkuCategory, err error) {
sql := ` sql := `
SELECT * FROM(
SELECT SELECT
t1.* t1.*
FROM sku_category t1 FROM sku_category t1
@@ -1238,19 +1239,35 @@ func GetStoreSkuCategories(db *DaoDB, storeID, parentID int) (catList []*model.S
sql += " AND t1.parent_id = ?" sql += " AND t1.parent_id = ?"
sqlParams = append(sqlParams, parentID) sqlParams = append(sqlParams, parentID)
} }
sql += " ORDER BY t1.level, t1.seq" sql += ` UNION
if err = GetRows(db, &catList, sql, sqlParams...); err == nil && len(catList) > 0 { SELECT
parentIDMap := make(map[int]int) DISTINCT
for _, v := range catList { t3.*
parentIDMap[v.ParentID] = 1 FROM sku_category t1
} JOIN
paretnCats, err2 := GetCategories(db, -1, 0, jxutils.IntMap2List(parentIDMap), false) (
if err = err2; err == nil { SELECT DISTINCT t3.category_id
catList = append(catList, paretnCats...) FROM store_sku_bind t1
} else { JOIN sku t2 ON t2.id = t1.sku_id AND t2.deleted_at = ? AND t2.status = ?
catList = nil JOIN sku_name t3 ON t3.id = t2.name_id AND t3.deleted_at = ? AND t3.status = ?
} WHERE t1.deleted_at = ? AND t1.status = ? AND t1.store_id = ?
) t2 ON t2.category_id = t1.id
JOIN sku_category t3 ON t3.id = t1.parent_id AND t3.deleted_at = ?
WHERE t1.deleted_at = ?
`
sqlParams = append(sqlParams, utils.DefaultTimeValue, model.SkuStatusNormal,
utils.DefaultTimeValue, model.SkuStatusNormal,
utils.DefaultTimeValue, model.SkuStatusNormal, storeID,
utils.DefaultTimeValue, utils.DefaultTimeValue,
)
if parentID >= 0 {
sql += " AND t1.parent_id = ?"
sqlParams = append(sqlParams, parentID)
} }
sql += `
) a
ORDER BY a.level, a.seq`
err = GetRows(db, &catList, sql, sqlParams...)
return catList, err return catList, err
} }