- GetSkuNames support level 1 category.

This commit is contained in:
gazebo
2018-09-13 09:47:43 +08:00
parent f14112c030
commit 380c739660

View File

@@ -136,6 +136,7 @@ func DeleteCategory(categoryID int, isForce bool, userName string) (num int64, e
} }
func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) { func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) {
db := dao.GetDB()
sql := ` sql := `
FROM sku_name t1 FROM sku_name t1
LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = '1970-01-01 00:00:00' LEFT JOIN sku t2 ON t1.id = t2.name_id AND t2.deleted_at = '1970-01-01 00:00:00'
@@ -159,8 +160,17 @@ func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize
sqlParams = append(sqlParams, params["nameID"].(int)) sqlParams = append(sqlParams, params["nameID"].(int))
} }
if params["categoryID"] != nil { if params["categoryID"] != nil {
sql += " AND t1.category_id = ?" cat := &model.SkuCategory{}
sqlParams = append(sqlParams, params["categoryID"].(int)) cat.ID = params["categoryID"].(int)
if err = dao.GetEntity(db, cat); err != nil {
return nil, err
}
if cat.Level == 1 {
sql += " AND t1.category_id IN (SELECT id FROM sku_category WHERE parent_id = ?)"
} else {
sql += " AND t1.category_id = ?"
}
sqlParams = append(sqlParams, cat.ID)
} }
if params["jdID"] != nil { if params["jdID"] != nil {
sql += " AND t1.jd_id = ?" sql += " AND t1.jd_id = ?"
@@ -257,7 +267,6 @@ func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize
} }
sqlParams = append(sqlParams, pageSize, offset) sqlParams = append(sqlParams, pageSize, offset)
skuNamesInfo = &SkuNamesInfo{} skuNamesInfo = &SkuNamesInfo{}
db := dao.GetDB()
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil { if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
countInfo := &struct{ Ct int }{} countInfo := &struct{ Ct int }{}
if err = dao.GetRow(db, countInfo, "SELECT FOUND_ROWS() ct"); err == nil { if err = dao.GetRow(db, countInfo, "SELECT FOUND_ROWS() ct"); err == nil {