|
@@ -261,6 +261,9 @@ type EnglishReportList struct {
|
|
|
FromReportId int `description:"继承的报告ID(英文策略报告ID)"`
|
|
|
AdminId int `description:"创建者账号"`
|
|
|
AdminRealName string `description:"创建者姓名"`
|
|
|
+ FullClassifyName string `description:"顶级分类名/父级分类名/当前分类名"`
|
|
|
+ ClassifyIdRoot int `description:"顶级分类id"`
|
|
|
+ ClassifyNameRoot string `description:"顶级分类名称"`
|
|
|
}
|
|
|
|
|
|
type EnglishReportListResp struct {
|
|
@@ -384,13 +387,15 @@ type EnglishClassifyList struct {
|
|
|
ClassifyName string `description:"分类名称"`
|
|
|
Sort int `description:"排序"`
|
|
|
ParentId int `description:"父级分类id"`
|
|
|
+ RootId int `description:"一级分类ID"`
|
|
|
CreateTime time.Time `description:"创建时间"`
|
|
|
ModifyTime time.Time `description:"修改时间"`
|
|
|
ClassifyLabel string `description:"分类标签"`
|
|
|
ShowType int `description:"展示类型:1-列表 2-专栏"`
|
|
|
IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
|
|
|
- ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
|
|
|
- Child []*EnglishClassify
|
|
|
+ //ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
|
|
|
+ EnPermissions []int `description:"英文权限IDs"`
|
|
|
+ Child []*EnglishClassifyList
|
|
|
}
|
|
|
|
|
|
type EnglishClassifyListResp struct {
|
|
@@ -398,71 +403,73 @@ type EnglishClassifyListResp struct {
|
|
|
Paging *paging.PagingItem `description:"分页数据"`
|
|
|
}
|
|
|
|
|
|
-// 获取分类列表
|
|
|
-func GetEnglishClassifyList(startSize, pageSize int, keyWord string, classifyType int) (items []*EnglishClassifyList, err error) {
|
|
|
+// GetEnglishClassifyRootId 获取一级分类列表
|
|
|
+func GetEnglishClassifyRootId(startSize, pageSize int, keyWord string) (items []*EnglishClassifyList, err error) {
|
|
|
sql := ``
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
if keyWord != "" {
|
|
|
sql = `SELECT * FROM (
|
|
|
- SELECT * FROM english_classify
|
|
|
- WHERE parent_id=0 AND classify_name LIKE '%` + keyWord + `%' AND classify_type = ?
|
|
|
+ SELECT * FROM english_classify
|
|
|
+ WHERE root_id=0 AND classify_name LIKE '%` + keyWord + `%'
|
|
|
UNION
|
|
|
SELECT * FROM english_classify
|
|
|
WHERE id IN(SELECT parent_id FROM english_classify
|
|
|
- WHERE parent_id>0 AND classify_name LIKE '%` + keyWord + `%') AND classify_type = ?
|
|
|
+ WHERE root_id>0 AND classify_name LIKE '%` + keyWord + `%')
|
|
|
)AS t
|
|
|
ORDER BY sort ASC,create_time ASC
|
|
|
LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, classifyType, classifyType, startSize, pageSize).QueryRows(&items)
|
|
|
+ _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
} else {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id=0 AND classify_type = ? ORDER BY sort ASC,create_time ASC LIMIT ?,? `
|
|
|
- _, err = o.Raw(sql, classifyType, startSize, pageSize).QueryRows(&items)
|
|
|
+ sql = `SELECT * FROM english_classify WHERE root_id=0 ORDER BY sort ASC,create_time ASC LIMIT ?,? `
|
|
|
+ _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishClassifyListCount(keyWord string, classifyType int) (count int, err error) {
|
|
|
+func GetEnglishClassifyListCount(keyWord string) (count int, err error) {
|
|
|
sqlCount := ``
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
if keyWord != "" {
|
|
|
sqlCount = `SELECT COUNT(1) AS count FROM (
|
|
|
SELECT * FROM english_classify
|
|
|
- WHERE parent_id=0 AND classify_name LIKE '%` + keyWord + `%' AND classify_type = ?
|
|
|
+ WHERE root_id=0 AND classify_name LIKE '%` + keyWord + `%'
|
|
|
UNION
|
|
|
SELECT * FROM english_classify
|
|
|
WHERE id IN(SELECT parent_id FROM english_classify
|
|
|
- WHERE parent_id>0 AND classify_name LIKE '%` + keyWord + `%' AND classify_type = ?)
|
|
|
+ WHERE root_id>0 AND classify_name LIKE '%` + keyWord + `%')
|
|
|
)AS t `
|
|
|
- err = o.Raw(sqlCount, classifyType, classifyType).QueryRow(&count)
|
|
|
+ err = o.Raw(sqlCount).QueryRow(&count)
|
|
|
} else {
|
|
|
- sqlCount = `SELECT COUNT(1) AS count FROM english_classify WHERE parent_id=0 AND classify_type = ?`
|
|
|
- err = o.Raw(sqlCount, classifyType).QueryRow(&count)
|
|
|
+ sqlCount = `SELECT COUNT(1) AS count FROM english_classify WHERE root_id=0`
|
|
|
+ err = o.Raw(sqlCount).QueryRow(&count)
|
|
|
}
|
|
|
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishClassifyChild(parentId int, keyWord string, classifyType int) (items []*EnglishClassify, err error) {
|
|
|
- o := orm.NewOrmUsingDB("rddp")
|
|
|
+func GetEnglishClassifyListByRootId(rootIds []int, keyWord string) (items []*EnglishClassifyList, err error) {
|
|
|
sql := ``
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
if keyWord != "" {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id=? AND classify_type = ? AND classify_name LIKE '%` + keyWord + `%' ORDER BY create_time ASC `
|
|
|
+ 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.classify_name LIKE '%` + keyWord + `%' and a.root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `)`
|
|
|
+ _, err = o.Raw(sql, rootIds).QueryRows(&items)
|
|
|
} else {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id=? AND classify_type = ? ORDER BY create_time ASC `
|
|
|
+ sql = `SELECT * FROM english_classify WHERE root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) `
|
|
|
+ _, err = o.Raw(sql, rootIds).QueryRows(&items)
|
|
|
}
|
|
|
- _, err = o.Raw(sql, parentId, classifyType).QueryRows(&items)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishClassifyChildByParentIds(parentIds []int, keyWord string, classifyType int) (items []*EnglishClassify, err error) {
|
|
|
+func GetEnglishClassifyChildByIds(ids []int) (items []*EnglishClassifyList, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- sql := ``
|
|
|
- if keyWord != "" {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id IN (` + utils.GetOrmInReplace(len(parentIds)) + `) AND classify_type = ? AND classify_name LIKE '%` + keyWord + `%' ORDER BY create_time ASC `
|
|
|
- } else {
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id IN (` + utils.GetOrmInReplace(len(parentIds)) + `) AND classify_type = ? ORDER BY create_time ASC `
|
|
|
- }
|
|
|
- _, err = o.Raw(sql, parentIds, classifyType).QueryRows(&items)
|
|
|
+ sql := `SELECT * FROM english_classify WHERE id IN (` + utils.GetOrmInReplace(len(ids)) + `) ORDER BY create_time ASC `
|
|
|
+ _, err = o.Raw(sql, ids).QueryRows(&items)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -503,12 +510,13 @@ type EnglishClassify struct {
|
|
|
ClassifyName string `description:"分类名称"`
|
|
|
Sort int `description:"排序"`
|
|
|
ParentId int `description:"父级分类id"`
|
|
|
+ RootId int `description:"一级分类ID"`
|
|
|
CreateTime time.Time `description:"创建时间"`
|
|
|
ModifyTime time.Time `description:"修改时间"`
|
|
|
ClassifyLabel string `description:"分类标签"`
|
|
|
ShowType int `description:"展示类型:1-列表 2-专栏"`
|
|
|
IsShow int `description:"是否在小程序显示:1-显示 0-隐藏"`
|
|
|
- ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
|
|
|
+ //ClassifyType int `description:"分类类型:0英文报告,1英文线上路演"`
|
|
|
}
|
|
|
|
|
|
func AddEnglishClassify(item *EnglishClassify) (lastId int64, err error) {
|
|
@@ -524,9 +532,10 @@ func ModifyEnglishClassify(item *EnglishClassify) (err error) {
|
|
|
classify_name = ?,
|
|
|
sort = ?,
|
|
|
parent_id = ?,
|
|
|
+ root_id = ?,
|
|
|
modify_time = ?
|
|
|
WHERE id = ? `
|
|
|
- _, err = o.Raw(sql, item.ClassifyName, item.Sort, item.ParentId, item.ModifyTime, item.Id).Exec()
|
|
|
+ _, err = o.Raw(sql, item.ClassifyName, item.Sort, item.ParentId, item.RootId, item.ModifyTime, item.Id).Exec()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -565,30 +574,33 @@ func GetEnglishReportCounts(classifyId, parentId int) (count int, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishClassifyCountsByName(name string, parentId int, classifyType int) (count int, err error) {
|
|
|
+func GetEnglishClassifyCountsByName(name string, parentId int) (count int, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- sql := `SELECT COUNT(1) AS count FROM english_classify WHERE classify_name=? AND parent_id = ? AND classify_type = ? `
|
|
|
- err = o.Raw(sql, name, parentId, classifyType).QueryRow(&count)
|
|
|
+ sql := `SELECT COUNT(1) AS count FROM english_classify WHERE classify_name=? AND parent_id = ? `
|
|
|
+ err = o.Raw(sql, name, parentId).QueryRow(&count)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// 获取分类列表
|
|
|
-func GetEnglishFirstClassifyList(classifyType, startSize, pageSize int) (items []*EnglishClassifyList, err error) {
|
|
|
- sql := ``
|
|
|
-
|
|
|
- sql = `SELECT * FROM english_classify WHERE parent_id=0 AND classify_type = ? ORDER BY sort ASC,create_time ASC LIMIT ?,? `
|
|
|
-
|
|
|
+// GetEnglishFirstClassifyList 获取一级、二级分类列表
|
|
|
+func GetEnglishFirstClassifyList(startSize, pageSize int) (items []*EnglishClassifyList, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- _, err = o.Raw(sql, classifyType, startSize, pageSize).QueryRows(&items)
|
|
|
+ sql := `SELECT * FROM english_classify WHERE root_id=0 ORDER BY sort ASC,create_time ASC LIMIT ?,? `
|
|
|
+ _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetEnglishFirstClassifyListCount(classifyType int) (count int, err error) {
|
|
|
- sqlCount := ``
|
|
|
- sqlCount = `SELECT COUNT(1) AS count FROM english_classify WHERE parent_id=0 AND classify_type = ? `
|
|
|
+// GetEnglishSecondClassifyList 获取一级、二级分类列表
|
|
|
+func GetEnglishSecondClassifyList(rootIds []int) (items []*EnglishClassifyList, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ sql := `SELECT * FROM english_classify WHERE root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) and root_id>0 and root_id=parent_id ORDER BY sort ASC,create_time ASC`
|
|
|
+ _, err = o.Raw(sql, rootIds).QueryRows(&items)
|
|
|
+ return
|
|
|
+}
|
|
|
|
|
|
+func GetEnglishFirstClassifyListCount() (count int, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- err = o.Raw(sqlCount, classifyType).QueryRow(&count)
|
|
|
+ sqlCount := `SELECT COUNT(1) AS count FROM english_classify WHERE root_id=0`
|
|
|
+ err = o.Raw(sqlCount).QueryRow(&count)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -647,10 +659,10 @@ func (reportInfo *EnglishReport) UpdateReport(cols []string) (err error) {
|
|
|
}
|
|
|
|
|
|
// GetAllEnglishClassify 获取所有英文分类
|
|
|
-func GetAllEnglishClassify(classifyType int) (list []*Classify, err error) {
|
|
|
+func GetAllEnglishClassify() (list []*Classify, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- sql := ` SELECT * FROM english_classify where classify_type = ? `
|
|
|
- _, err = o.Raw(sql, classifyType).QueryRows(&list)
|
|
|
+ sql := ` SELECT * FROM english_classify `
|
|
|
+ _, err = o.Raw(sql).QueryRows(&list)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -710,7 +722,7 @@ func (m RSClassifyList) Swap(i, j int) {
|
|
|
m[i], m[j] = m[j], m[i]
|
|
|
}
|
|
|
|
|
|
-type RSChildClassifyList []*EnglishClassify
|
|
|
+type RSChildClassifyList []*EnglishClassifyList
|
|
|
|
|
|
func (m RSChildClassifyList) Len() int {
|
|
|
return len(m)
|
|
@@ -725,9 +737,37 @@ func (m RSChildClassifyList) Swap(i, j int) {
|
|
|
}
|
|
|
|
|
|
// GetEnglishClassifyByClassifyNameParentId 获取英文分类
|
|
|
-func GetEnglishClassifyByClassifyNameParentId(classifyName string, parentId, classifyType int) (item *Classify, err error) {
|
|
|
+func GetEnglishClassifyByClassifyNameParentId(classifyName string, parentId int) (item *Classify, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("rddp")
|
|
|
+ sql := ` SELECT * FROM english_classify where classify_name = ? and parent_id = ? `
|
|
|
+ err = o.Raw(sql, classifyName, parentId).QueryRow(&item)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+type EnglishClassifyFullName struct {
|
|
|
+ Id int `description:"分类ID"`
|
|
|
+ ParentId int `description:"父级分类id"`
|
|
|
+ RootId int `description:"一级分类ID"`
|
|
|
+ RootName string `description:"一级分类名"`
|
|
|
+ ParentName string `description:"二级分类名"`
|
|
|
+ ClassifyName string `description:"分类名称"`
|
|
|
+}
|
|
|
+
|
|
|
+// GetEnglishClassifyFullNameByIds 获取英文分类名一级/二级/三级
|
|
|
+func GetEnglishClassifyFullNameByIds(classifyIds []int) (list []*EnglishClassifyFullName, err error) {
|
|
|
o := orm.NewOrmUsingDB("rddp")
|
|
|
- sql := ` SELECT * FROM english_classify where classify_name = ? and parent_id = ? and classify_type = ? `
|
|
|
- err = o.Raw(sql, classifyName, parentId, classifyType).QueryRow(&item)
|
|
|
+ sql := ` SELECT
|
|
|
+ a.id,
|
|
|
+ a.parent_id,
|
|
|
+ a.root_id,
|
|
|
+ a.classify_name,
|
|
|
+ b.classify_name AS root_name,
|
|
|
+ c.classify_name AS parent_name
|
|
|
+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.id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
|
|
|
+ _, err = o.Raw(sql, classifyIds).QueryRows(&list)
|
|
|
return
|
|
|
}
|