|
@@ -2,7 +2,6 @@ package models
|
|
|
|
|
|
import (
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -108,33 +107,36 @@ type EnglishClassifyList struct {
|
|
|
IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
|
|
|
|
|
|
EnPermissions []int `description:"英文权限IDs"`
|
|
|
+ Enabled int `description:"是否可用,1可用,0禁用"`
|
|
|
Child []*EnglishClassifyList
|
|
|
}
|
|
|
|
|
|
type EnglishClassifyListResp struct {
|
|
|
- List []*EnglishClassifyList
|
|
|
- Paging *paging.PagingItem `description:"分页数据"`
|
|
|
+ List []*EnglishClassifyList
|
|
|
}
|
|
|
|
|
|
|
|
|
-func GetEnglishClassifyRootId(startSize, pageSize int, keyWord string) (items []*EnglishClassifyList, err error) {
|
|
|
+func GetEnglishClassifyRootId(keyword string, enabled int) (items []*EnglishClassifyList, err error) {
|
|
|
sql := ``
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- if keyWord != "" {
|
|
|
+ cond := ""
|
|
|
+ if enabled == 1 {
|
|
|
+ cond = " AND enabled=1 "
|
|
|
+ }
|
|
|
+ if keyword != "" {
|
|
|
sql = `SELECT * FROM (
|
|
|
SELECT * FROM english_classify
|
|
|
- WHERE parent_id=0 AND classify_name LIKE '%` + keyWord + `%'
|
|
|
+ WHERE parent_id=0 ` + cond + ` AND classify_name LIKE ?
|
|
|
UNION
|
|
|
SELECT * FROM english_classify
|
|
|
WHERE id IN(SELECT parent_id FROM english_classify
|
|
|
- WHERE parent_id>0 AND classify_name LIKE '%` + keyWord + `%')
|
|
|
+ WHERE parent_id>0 ` + cond + ` AND classify_name LIKE ? )
|
|
|
)AS t
|
|
|
- ORDER BY sort ASC,create_time ASC
|
|
|
- LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
+ ORDER BY sort ASC,create_time ASC`
|
|
|
+ _, err = o.Raw(sql, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword)).QueryRows(&items)
|
|
|
} else {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id=0 ORDER BY sort ASC,create_time ASC LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
+ sql = `SELECT * FROM english_classify WHERE parent_id=0 ` + cond + ` ORDER BY sort ASC,create_time ASC `
|
|
|
+ _, err = o.Raw(sql).QueryRows(&items)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -160,20 +162,28 @@ func GetEnglishClassifyListCount(keyWord string) (count int, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishClassifyListByRootId(rootIds []int, keyWord string) (items []*EnglishClassifyList, err error) {
|
|
|
+func GetEnglishClassifyListByRootId(rootIds []int, keyword string, enabled int) (items []*EnglishClassifyList, err error) {
|
|
|
sql := ``
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- if keyWord != "" {
|
|
|
+ cond := ""
|
|
|
+ if enabled == 1 {
|
|
|
+ cond = " AND enabled=1 "
|
|
|
+ }
|
|
|
+ if keyword != "" {
|
|
|
sql = `SELECT
|
|
|
a.*
|
|
|
FROM
|
|
|
english_classify a
|
|
|
LEFT JOIN english_classify b ON a.root_id = b.id
|
|
|
LEFT JOIN english_classify c ON a.parent_id = c.id
|
|
|
- WHERE a.parent_id > 0 and a.classify_name LIKE '%` + keyWord + `%' and a.root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `)`
|
|
|
- _, err = o.Raw(sql, rootIds).QueryRows(&items)
|
|
|
+ WHERE a.parent_id>0 ` + cond + ` and a.classify_name LIKE ? and a.root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `)`
|
|
|
+ pars = append(pars, utils.GetLikeKeyword(keyword))
|
|
|
+ pars = append(pars, rootIds)
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
} else {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id > 0 and root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) `
|
|
|
+ sql = `SELECT * FROM english_classify WHERE parent_id>0 ` + cond + ` and root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) `
|
|
|
_, err = o.Raw(sql, rootIds).QueryRows(&items)
|
|
|
}
|
|
|
return
|