|
@@ -11,7 +11,6 @@ import (
|
|
|
"hongze/hz_crm_api/services"
|
|
|
"hongze/hz_crm_api/services/yb"
|
|
|
"hongze/hz_crm_api/utils"
|
|
|
- "sort"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -421,55 +420,64 @@ func (r *RoadVideoController) TwoWeekClassifyList() {
|
|
|
}
|
|
|
|
|
|
// 2023-04-19 取classify表relate_video=1的二级分类, 但是需要分层级, 所以对应的一级分类也要组合起来
|
|
|
- list, e := models.GetAllClassify()
|
|
|
+ list, e := models.GetAllClassifyByRelateVideo()
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取路演视频可选报告分类失败, Err: " + e.Error()
|
|
|
return
|
|
|
}
|
|
|
- resp := make([]*models.SimpleClassifyList, 0)
|
|
|
- parentMap := make(map[int]*models.SimpleClassifyList)
|
|
|
- classifyMap := make(map[int]*models.Classify)
|
|
|
- for _, c := range list {
|
|
|
- classifyMap[c.Id] = c
|
|
|
- if c.ParentId > 0 && c.RelateVideo == 1 {
|
|
|
- if parentMap[c.ParentId] == nil {
|
|
|
- parentMap[c.ParentId] = new(models.SimpleClassifyList)
|
|
|
+
|
|
|
+ // 获取父级的分类
|
|
|
+ {
|
|
|
+ idMap := make(map[int]bool)
|
|
|
+
|
|
|
+ currParentClassifyIdList := make([]int, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ idMap[v.Id] = true
|
|
|
+ if v.ParentId > 0 {
|
|
|
+ currParentClassifyIdList = append(currParentClassifyIdList, v.ParentId)
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- for k, v := range parentMap {
|
|
|
- p := classifyMap[k]
|
|
|
- if p == nil {
|
|
|
- continue
|
|
|
+
|
|
|
+ findList := list
|
|
|
+ list = make([]*models.Classify, 0)
|
|
|
+
|
|
|
+ tmpList, tmpErr := services.GetParentClassifyListByParentIdList(currParentClassifyIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取上级分类信息失败,Err:" + tmpErr.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- v.Id = p.Id
|
|
|
- v.ClassifyName = p.ClassifyName
|
|
|
- v.Sort = p.Sort
|
|
|
- v.Child = make([]*models.SimpleClassifyList, 0)
|
|
|
- for _, c := range list {
|
|
|
- if c.ParentId == v.Id && c.RelateVideo == 1 {
|
|
|
- v.Child = append(v.Child, &models.SimpleClassifyList{
|
|
|
- Id: c.Id,
|
|
|
- ClassifyName: c.ClassifyName,
|
|
|
- ParentId: c.ParentId,
|
|
|
- Sort: c.Sort,
|
|
|
- })
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if _, ok := idMap[v.Id]; !ok {
|
|
|
+ list = append(list, v)
|
|
|
}
|
|
|
}
|
|
|
- sort.Slice(v.Child, func(i, j int) bool {
|
|
|
- return v.Child[j].Sort > v.Child[i].Sort
|
|
|
+
|
|
|
+ list = append(list, findList...)
|
|
|
+ }
|
|
|
+
|
|
|
+ allList := make([]*models.SimpleClassifyList, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ allList = append(allList, &models.SimpleClassifyList{
|
|
|
+ Id: v.Id,
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ Sort: v.Sort,
|
|
|
+ CreateTime: v.CreateTime,
|
|
|
+ Child: make([]*models.SimpleClassifyList, 0),
|
|
|
})
|
|
|
- resp = append(resp, v)
|
|
|
}
|
|
|
- sort.Slice(resp, func(i, j int) bool {
|
|
|
- return resp[j].Sort > resp[i].Sort
|
|
|
- })
|
|
|
+
|
|
|
+ // 先将分类列表排序
|
|
|
+ services.SortClassifyListBySortAndCreateTime(allList)
|
|
|
+ // 接着转换结构
|
|
|
+ allList = services.GetClassifyListTreeRecursive(allList, 0)
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
- br.Data = resp
|
|
|
+ br.Data = allList
|
|
|
}
|
|
|
|
|
|
// SimpleReportList
|