aa
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user