|
@@ -2,12 +2,12 @@ package english_report
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
- "fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"eta/eta_api/controllers"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/services"
|
|
|
"eta/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"sort"
|
|
|
"time"
|
|
|
)
|
|
@@ -35,7 +35,6 @@ func (this *EnglishReportController) ListClassify() {
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
keyWord := this.GetString("KeyWord")
|
|
|
- classifyType, _ := this.GetInt("ClassifyType", 0)
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -50,13 +49,21 @@ func (this *EnglishReportController) ListClassify() {
|
|
|
page := paging.GetPaging(currentIndex, pageSize, 0)
|
|
|
resp := new(models.EnglishClassifyListResp)
|
|
|
|
|
|
- list, err := models.GetEnglishClassifyList(startSize, pageSize, keyWord, classifyType)
|
|
|
+ // 处理一级分类分页的情况
|
|
|
+ rootList, err := models.GetEnglishClassifyRootId(startSize, pageSize, keyWord)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- total, err := models.GetEnglishClassifyListCount(keyWord, classifyType)
|
|
|
+ var ids []int
|
|
|
+ var rootIds []int
|
|
|
+ rootMap := make(map[int]struct{}, 0)
|
|
|
+ for _, v := range rootList {
|
|
|
+ rootIds = append(rootIds, v.Id)
|
|
|
+ rootMap[v.Id] = struct{}{}
|
|
|
+ }
|
|
|
+ total, err := models.GetEnglishClassifyListCount(keyWord)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
@@ -72,65 +79,102 @@ func (this *EnglishReportController) ListClassify() {
|
|
|
br.Msg = "获取成功"
|
|
|
return
|
|
|
}
|
|
|
- var parentIds []int
|
|
|
- for _, v := range list {
|
|
|
- parentIds = append(parentIds, v.Id)
|
|
|
- }
|
|
|
+ page = paging.GetPaging(currentIndex, pageSize, total)
|
|
|
|
|
|
- childMap := make(map[int][]*models.EnglishClassifyList)
|
|
|
- tmpList, err := models.GetEnglishClassifyChildByParentIds(parentIds, keyWord, classifyType)
|
|
|
+ //获取相关的分类ID
|
|
|
+ idList, err := models.GetEnglishClassifyListByRootId(rootIds, keyWord)
|
|
|
if err != nil {
|
|
|
- br.Msg = "获取二级分类失败"
|
|
|
- br.ErrMsg = "获取二级分类失败,Err:" + err.Error()
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- // 二级分类-品种权限
|
|
|
+ secondListMap := make(map[int][]*models.EnglishClassifyList)
|
|
|
+ thirdListMap := make(map[int][]*models.EnglishClassifyList)
|
|
|
+ var thirdIds []int
|
|
|
+ var sortChildList models.RSChildClassifyList
|
|
|
+ // 三级分类-品种权限
|
|
|
permissionMap := make(map[int][]int)
|
|
|
- {
|
|
|
- classifyIds := make([]int, 0)
|
|
|
+
|
|
|
+ if len(idList) > 0 {
|
|
|
+ childIdMap := make(map[int]struct{}, 0)
|
|
|
+ for _, v := range idList {
|
|
|
+ if _, ok := childIdMap[v.ParentId]; !ok {
|
|
|
+ ids = append(ids, v.ParentId)
|
|
|
+ childIdMap[v.ParentId] = struct{}{}
|
|
|
+ }
|
|
|
+ if _, ok := childIdMap[v.Id]; !ok {
|
|
|
+ ids = append(ids, v.Id)
|
|
|
+ childIdMap[v.Id] = struct{}{}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tmpList, err := models.GetEnglishClassifyChildByIds(ids)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取二级分类失败"
|
|
|
+ br.ErrMsg = "获取二级分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
for _, v := range tmpList {
|
|
|
- classifyIds = append(classifyIds, v.Id)
|
|
|
+ if _, ok := rootMap[v.ParentId]; !ok {
|
|
|
+ thirdIds = append(thirdIds, v.Id)
|
|
|
+ }
|
|
|
}
|
|
|
- if len(classifyIds) > 0 {
|
|
|
- cond := fmt.Sprintf(` AND %s IN (%s)`, models.EnClassifyPermissionColumns.EnClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
- pars := make([]interface{}, 0)
|
|
|
- pars = append(pars, classifyIds)
|
|
|
- ob := new(models.EnClassifyPermission)
|
|
|
- items, e := ob.GetItemsByCondition(cond, pars, []string{}, "")
|
|
|
- if e != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取客户权限列表失败, Err: " + e.Error()
|
|
|
- return
|
|
|
+ {
|
|
|
+ classifyIds := thirdIds
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ cond := fmt.Sprintf(` AND %s IN (%s)`, models.EnClassifyPermissionColumns.EnClassifyId, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ ob := new(models.EnClassifyPermission)
|
|
|
+ items, e := ob.GetItemsByCondition(cond, pars, []string{}, "")
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取客户权限列表失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range items {
|
|
|
+ if permissionMap[v.EnClassifyId] == nil {
|
|
|
+ permissionMap[v.EnClassifyId] = make([]int, 0)
|
|
|
+ }
|
|
|
+ permissionMap[v.EnClassifyId] = append(permissionMap[v.EnClassifyId], v.EnPermissionId)
|
|
|
+ }
|
|
|
}
|
|
|
- for _, v := range items {
|
|
|
- if permissionMap[v.EnClassifyId] == nil {
|
|
|
- permissionMap[v.EnClassifyId] = make([]int, 0)
|
|
|
+ }
|
|
|
+ // 处理三级分类
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if _, ok := rootMap[v.ParentId]; !ok {
|
|
|
+ if p, ok1 := permissionMap[v.Id]; ok1 {
|
|
|
+ v.EnPermissions = p
|
|
|
}
|
|
|
- permissionMap[v.EnClassifyId] = append(permissionMap[v.EnClassifyId], v.EnPermissionId)
|
|
|
+ thirdListMap[v.ParentId] = append(thirdListMap[v.ParentId], v)
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- for _, v := range tmpList {
|
|
|
- v.EnPermissions = permissionMap[v.Id]
|
|
|
- childMap[v.ParentId] = append(childMap[v.ParentId], v)
|
|
|
- }
|
|
|
- for _, v := range list {
|
|
|
- if child, ok := childMap[v.Id]; ok {
|
|
|
- v.Child = child
|
|
|
+ //处理二级分类
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if _, ok := rootMap[v.ParentId]; ok {
|
|
|
+ if child, ok1 := thirdListMap[v.Id]; ok1 {
|
|
|
+ sortChildList = child
|
|
|
+ sort.Sort(sortChildList)
|
|
|
+ v.Child = sortChildList
|
|
|
+ }
|
|
|
+ secondListMap[v.ParentId] = append(secondListMap[v.ParentId], v)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //处理一级分类
|
|
|
var sortList models.RSClassifyList
|
|
|
- sortList = list
|
|
|
+ for _, v := range rootList {
|
|
|
+ if child, ok := secondListMap[v.Id]; ok {
|
|
|
+ sortChildList = child
|
|
|
+ sort.Sort(sortChildList)
|
|
|
+ v.Child = sortChildList
|
|
|
+ }
|
|
|
+ sortList = append(sortList, v)
|
|
|
+ }
|
|
|
+
|
|
|
sort.Sort(sortList)
|
|
|
|
|
|
- for _, item := range sortList {
|
|
|
- var sortChildList models.RSChildClassifyList
|
|
|
- sortChildList = item.Child
|
|
|
- sort.Sort(sortChildList)
|
|
|
- item.Child = sortChildList
|
|
|
- }
|
|
|
resp.List = sortList
|
|
|
resp.Paging = page
|
|
|
|
|
@@ -155,19 +199,38 @@ func (this *EnglishReportController) AddClassify() {
|
|
|
}()
|
|
|
classifyName := this.GetString("ClassifyName")
|
|
|
parentId, _ := this.GetInt("ParentId")
|
|
|
- classifyType, _ := this.GetInt("ClassifyType", 0)
|
|
|
sort, _ := this.GetInt("Sort")
|
|
|
|
|
|
+ // 查新父级分类是否存在
|
|
|
+ rootId := 0
|
|
|
+ if parentId > 0 {
|
|
|
+ parentClassify, err := models.GetEnglishReportClassifyById(parentId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "上级分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "查询上级分类信息失败"
|
|
|
+ br.ErrMsg = "查询上级分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if parentClassify.RootId == 0 {
|
|
|
+ rootId = parentClassify.Id
|
|
|
+ } else {
|
|
|
+ rootId = parentClassify.RootId
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
item := &models.EnglishClassify{
|
|
|
ClassifyName: classifyName,
|
|
|
Sort: sort,
|
|
|
ParentId: parentId,
|
|
|
+ RootId: rootId,
|
|
|
CreateTime: time.Now(),
|
|
|
ModifyTime: time.Now(),
|
|
|
- ClassifyType: classifyType,
|
|
|
IsShow: 1,
|
|
|
}
|
|
|
- counts, err := models.GetEnglishClassifyCountsByName(classifyName, parentId, classifyType)
|
|
|
+ counts, err := models.GetEnglishClassifyCountsByName(classifyName, parentId)
|
|
|
if err != nil {
|
|
|
br.Msg = "查询失败"
|
|
|
br.ErrMsg = "查询失败,Err:" + err.Error()
|
|
@@ -178,12 +241,23 @@ func (this *EnglishReportController) AddClassify() {
|
|
|
br.ErrMsg = "该名称已存在!"
|
|
|
return
|
|
|
}
|
|
|
- _, err = models.AddEnglishClassify(item)
|
|
|
+ var newId int64
|
|
|
+ newId, err = models.AddEnglishClassify(item)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ if parentId == 0 { //一级目录的rootId等于自己本身
|
|
|
+ item.Id = int(newId)
|
|
|
+ item.RootId = int(newId)
|
|
|
+ err = item.UpdateEnglishClassify([]string{"RootId"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -223,26 +297,52 @@ func (this *EnglishReportController) EditClassify() {
|
|
|
}
|
|
|
|
|
|
oldItem, err := models.GetEnglishReportClassifyById(classifyId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- parent, err := models.GetEnglishReportClassifyById(parentId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "当前分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
br.Msg = "获取信息失败"
|
|
|
br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
if oldItem.ParentId == 0 && parentId > 0 {
|
|
|
// 一级分类变更为二级分类,禁止
|
|
|
- br.Msg = "一级分类不允许更改为二级分类"
|
|
|
+ br.Msg = "一级分类不允许更改为二级分类或三级分类"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ var parent *models.EnglishClassify
|
|
|
+ rootId := 0
|
|
|
+ if parentId > 0 {
|
|
|
+ parent, err = models.GetEnglishReportClassifyById(parentId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "上级分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //二级分类不允许改成三级分类
|
|
|
+ if oldItem.ParentId > 0 && oldItem.ParentId == oldItem.RootId {
|
|
|
+ if parent.ParentId > 0 {
|
|
|
+ //即将改为为三级分类
|
|
|
+ br.Msg = "二级分类不允许更改为三级分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if parent.RootId == 0 {
|
|
|
+ rootId = parent.Id
|
|
|
+ } else {
|
|
|
+ rootId = parent.RootId
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//判断是否已存在同个名称的分类
|
|
|
- existItem, e := models.GetEnglishClassifyByClassifyNameParentId(classifyName, parentId, oldItem.ClassifyType)
|
|
|
+ existItem, e := models.GetEnglishClassifyByClassifyNameParentId(classifyName, parentId)
|
|
|
if e != nil {
|
|
|
if e.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "查询已存在的分类出错"
|
|
@@ -254,44 +354,52 @@ func (this *EnglishReportController) EditClassify() {
|
|
|
br.Msg = "分类名称:" + classifyName + "已存在"
|
|
|
return
|
|
|
}
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- //oldParentId := item.ParentId
|
|
|
+ if parentId == 0 { //一级分类的顶级分类为自己的ID
|
|
|
+ rootId = oldItem.Id
|
|
|
+ }
|
|
|
item := &models.EnglishClassify{
|
|
|
Id: oldItem.Id,
|
|
|
ClassifyName: classifyName,
|
|
|
Sort: sort,
|
|
|
ParentId: parentId,
|
|
|
+ RootId: rootId,
|
|
|
ModifyTime: time.Now(),
|
|
|
- ClassifyType: oldItem.ClassifyType,
|
|
|
IsShow: 1,
|
|
|
}
|
|
|
- if oldItem.ClassifyType == 1 {
|
|
|
- err = services.UpdateEnglishVideoClassifyId(oldItem, item, parent, classifyId)
|
|
|
+ {
|
|
|
+ // 更新研报里的分类名称
|
|
|
+ err = services.UpdateEnglishReportClassifyId(oldItem, item, classifyId)
|
|
|
if err != nil {
|
|
|
br.Msg = err.Error()
|
|
|
return
|
|
|
}
|
|
|
- } else {
|
|
|
- // 更新研报里的分类名称
|
|
|
- err = services.UpdateEnglishReportClassifyId(oldItem, item, parent, classifyId)
|
|
|
+
|
|
|
+ //更新相关联的路演视频里的分类名称
|
|
|
+ err = services.UpdateEnglishVideoClassifyId(oldItem, item, classifyId)
|
|
|
if err != nil {
|
|
|
br.Msg = err.Error()
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
err = models.ModifyEnglishClassify(item)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ err = models.UpdateEnglishReportClassifyByFirstSecondClassifyId(classifyId, parentId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = models.UpdateEnglishVideoClassifyByFirstSecondClassifyId(classifyId, parentId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "保存成功"
|
|
@@ -336,33 +444,29 @@ func (this *EnglishReportController) DelClassify() {
|
|
|
br.Ret = 403
|
|
|
return
|
|
|
}
|
|
|
+ reportCount, e := models.GetEnglishReportCounts(classifyId, classifyInfo.ParentId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- if classifyInfo.ClassifyType == 0 {
|
|
|
- reportCount, e := models.GetEnglishReportCounts(classifyId, classifyInfo.ParentId)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if reportCount > 0 {
|
|
|
- br.Msg = "该分类有关联报告,不允许删除"
|
|
|
- br.Ret = 403
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- videoCount, e := models.GetEnglishVideoCounts(classifyId, classifyInfo.ParentId)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
+ if reportCount > 0 {
|
|
|
+ br.Msg = "该分类有关联报告,不允许删除"
|
|
|
+ br.Ret = 403
|
|
|
+ return
|
|
|
+ }
|
|
|
+ videoCount, e := models.GetEnglishVideoCounts(classifyId, classifyInfo.ParentId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- if videoCount > 0 {
|
|
|
- br.Msg = "该分类有关联的路演视频,不允许删除"
|
|
|
- br.Ret = 403
|
|
|
- return
|
|
|
- }
|
|
|
+ if videoCount > 0 {
|
|
|
+ br.Msg = "该分类有关联的路演视频,不允许删除"
|
|
|
+ br.Ret = 403
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
if err = models.DeleteEnglishClassify(classifyId); err != nil {
|
|
@@ -391,7 +495,6 @@ func (this *EnglishReportController) FistListClassify() {
|
|
|
}()
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
- classifyType, _ := this.GetInt("ClassifyType", 0)
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -402,22 +505,66 @@ func (this *EnglishReportController) FistListClassify() {
|
|
|
}
|
|
|
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
- list, err := models.GetEnglishFirstClassifyList(classifyType, startSize, pageSize)
|
|
|
+ rootList, err := models.GetEnglishFirstClassifyList(startSize, pageSize)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- total, err := models.GetEnglishFirstClassifyListCount(classifyType)
|
|
|
+ total, err := models.GetEnglishFirstClassifyListCount()
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
resp := new(models.EnglishClassifyListResp)
|
|
|
- resp.List = list
|
|
|
+
|
|
|
+ if total == 0 {
|
|
|
+ resp.List = make([]*models.EnglishClassifyList, 0)
|
|
|
+ resp.Paging = page
|
|
|
+
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rootMap := make(map[int]struct{}, 0)
|
|
|
+ var rootIds []int
|
|
|
+ for _, v := range rootList {
|
|
|
+ rootMap[v.Id] = struct{}{}
|
|
|
+ rootIds = append(rootIds, v.Id)
|
|
|
+ }
|
|
|
+ tmpList, err := models.GetEnglishSecondClassifyList(rootIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ secondListMap := make(map[int][]*models.EnglishClassifyList)
|
|
|
+ //处理二级分类
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if _, ok := rootMap[v.ParentId]; ok {
|
|
|
+ secondListMap[v.ParentId] = append(secondListMap[v.ParentId], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理一级分类
|
|
|
+ var sortList models.RSClassifyList
|
|
|
+ var sortChildList models.RSChildClassifyList
|
|
|
+ for _, v := range rootList {
|
|
|
+ if child, ok := secondListMap[v.Id]; ok {
|
|
|
+ sortChildList = child
|
|
|
+ sort.Sort(sortChildList)
|
|
|
+ v.Child = sortChildList
|
|
|
+ }
|
|
|
+ sortList = append(sortList, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ sort.Sort(sortList)
|
|
|
+
|
|
|
+ resp.List = sortList
|
|
|
resp.Paging = page
|
|
|
|
|
|
br.Data = resp
|