|
@@ -2337,155 +2337,175 @@ func GetEdbChartClassifyList(source int) (resp data_manage.EdbChartClassifyResp,
|
|
|
}
|
|
|
|
|
|
case 3: //ETA指标库
|
|
|
- rootList, e := data_manage.GetEdbClassifyByParentId(0, 0)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- classifyAll, e := data_manage.GetEdbClassifyAll()
|
|
|
+ //rootList, e := data_manage.GetEdbClassifyByParentId(0, 0)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = e
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 考虑到后面可以会迭代到10层, 这里直接用递归处理
|
|
|
+ classifyAll, e := data_manage.GetAllEdbClassifyByType(0)
|
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
err = e
|
|
|
return
|
|
|
}
|
|
|
- rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
- for _, v := range classifyAll {
|
|
|
- rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
- }
|
|
|
- nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
- for _, v := range rootList {
|
|
|
- if existItems, ok := rootChildMap[v.ClassifyId]; ok {
|
|
|
- v.Children = existItems
|
|
|
- } else {
|
|
|
- items := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
- v.Children = items
|
|
|
- }
|
|
|
- nodeAll = append(nodeAll, v)
|
|
|
- }
|
|
|
+ resp.List = GetEdbMenuTreeRecursive(classifyAll, 0)
|
|
|
|
|
|
- for _, v := range nodeAll {
|
|
|
- item := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v.ClassifyId,
|
|
|
- ClassifyName: v.ClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- }
|
|
|
- for _, v2 := range v.Children {
|
|
|
- child := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v2.ClassifyId,
|
|
|
- ClassifyName: v2.ClassifyName,
|
|
|
- ParentId: v2.ParentId,
|
|
|
- }
|
|
|
- item.Child = append(item.Child, &child)
|
|
|
- }
|
|
|
- resp.List = append(resp.List, &item)
|
|
|
- }
|
|
|
+ //rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
+ //for _, v := range classifyAll {
|
|
|
+ // rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
+ //}
|
|
|
+ //nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ //for _, v := range rootList {
|
|
|
+ // if existItems, ok := rootChildMap[v.ClassifyId]; ok {
|
|
|
+ // v.Children = existItems
|
|
|
+ // } else {
|
|
|
+ // items := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ // v.Children = items
|
|
|
+ // }
|
|
|
+ // nodeAll = append(nodeAll, v)
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //for _, v := range nodeAll {
|
|
|
+ // item := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v.ClassifyId,
|
|
|
+ // ClassifyName: v.ClassifyName,
|
|
|
+ // ParentId: v.ParentId,
|
|
|
+ // }
|
|
|
+ // for _, v2 := range v.Children {
|
|
|
+ // child := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v2.ClassifyId,
|
|
|
+ // ClassifyName: v2.ClassifyName,
|
|
|
+ // ParentId: v2.ParentId,
|
|
|
+ // }
|
|
|
+ // item.Child = append(item.Child, &child)
|
|
|
+ // }
|
|
|
+ // resp.List = append(resp.List, &item)
|
|
|
+ //}
|
|
|
case 4: //ETA预测指标
|
|
|
- rootList, e := data_manage.GetEdbClassifyByParentId(0, 1)
|
|
|
+ // 考虑到后面可以会迭代到10层, 这里直接用递归
|
|
|
+ classifyAll, e := data_manage.GetAllEdbClassifyByType(1)
|
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
err = e
|
|
|
return
|
|
|
}
|
|
|
- nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
- for _, v := range rootList {
|
|
|
- nodeAll = append(nodeAll, v)
|
|
|
- }
|
|
|
+ resp.List = GetEdbMenuTreeRecursive(classifyAll, 0)
|
|
|
|
|
|
- for _, v := range nodeAll {
|
|
|
- item := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v.ClassifyId,
|
|
|
- ClassifyName: v.ClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- }
|
|
|
- for _, v2 := range v.Children {
|
|
|
- child := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v2.ClassifyId,
|
|
|
- ClassifyName: v2.ClassifyName,
|
|
|
- ParentId: v2.ParentId,
|
|
|
- }
|
|
|
- item.Child = append(item.Child, &child)
|
|
|
- }
|
|
|
- resp.List = append(resp.List, &item)
|
|
|
- }
|
|
|
+ //rootList, e := data_manage.GetEdbClassifyByParentId(0, 1)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = e
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ //for _, v := range rootList {
|
|
|
+ // nodeAll = append(nodeAll, v)
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //for _, v := range nodeAll {
|
|
|
+ // item := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v.ClassifyId,
|
|
|
+ // ClassifyName: v.ClassifyName,
|
|
|
+ // ParentId: v.ParentId,
|
|
|
+ // }
|
|
|
+ // for _, v2 := range v.Children {
|
|
|
+ // child := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v2.ClassifyId,
|
|
|
+ // ClassifyName: v2.ClassifyName,
|
|
|
+ // ParentId: v2.ParentId,
|
|
|
+ // }
|
|
|
+ // item.Child = append(item.Child, &child)
|
|
|
+ // }
|
|
|
+ // resp.List = append(resp.List, &item)
|
|
|
+ //}
|
|
|
case 5: //图库
|
|
|
|
|
|
//判断是否存在缓存,如果存在缓存,那么直接从缓存中获取
|
|
|
- key := utils.CACHE_CHART_CLASSIFY
|
|
|
- if utils.Re == nil {
|
|
|
- if utils.Re == nil && utils.Rc.IsExist(key) {
|
|
|
- rep := new(data_manage.ChartClassifyListResp)
|
|
|
- if data, err1 := utils.Rc.RedisBytes(key); err1 == nil {
|
|
|
- e := json.Unmarshal(data, &rep)
|
|
|
- if e == nil && rep != nil {
|
|
|
- for _, v := range rep.AllNodes {
|
|
|
- item := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v.ChartClassifyId,
|
|
|
- ClassifyName: v.ChartClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- }
|
|
|
- for _, v2 := range v.Children {
|
|
|
- child := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v2.ChartClassifyId,
|
|
|
- ClassifyName: v2.ChartClassifyName,
|
|
|
- ParentId: v2.ParentId,
|
|
|
- }
|
|
|
- item.Child = append(item.Child, &child)
|
|
|
- }
|
|
|
- resp.List = append(resp.List, &item)
|
|
|
- }
|
|
|
- fmt.Println("source redis")
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- rootList, e := data_manage.GetChartClassifyByParentIdFromETA(0)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
+ //key := utils.CACHE_CHART_CLASSIFY
|
|
|
+ //if utils.Re == nil {
|
|
|
+ // if utils.Re == nil && utils.Rc.IsExist(key) {
|
|
|
+ // rep := new(data_manage.ChartClassifyListResp)
|
|
|
+ // if data, err1 := utils.Rc.RedisBytes(key); err1 == nil {
|
|
|
+ // e := json.Unmarshal(data, &rep)
|
|
|
+ // if e == nil && rep != nil {
|
|
|
+ // for _, v := range rep.AllNodes {
|
|
|
+ // item := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v.ChartClassifyId,
|
|
|
+ // ClassifyName: v.ChartClassifyName,
|
|
|
+ // ParentId: v.ParentId,
|
|
|
+ // }
|
|
|
+ // for _, v2 := range v.Children {
|
|
|
+ // child := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v2.ChartClassifyId,
|
|
|
+ // ClassifyName: v2.ChartClassifyName,
|
|
|
+ // ParentId: v2.ParentId,
|
|
|
+ // }
|
|
|
+ // item.Child = append(item.Child, &child)
|
|
|
+ // }
|
|
|
+ // resp.List = append(resp.List, &item)
|
|
|
+ // }
|
|
|
+ // fmt.Println("source redis")
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
- classifyAll, e := data_manage.GetChartClassifyAllFromETA()
|
|
|
+ // 考虑到后面可以会迭代到10层, 这里直接用递归处理
|
|
|
+ classifyAll, e := data_manage.GetAllChartClassifyItemsBySource(1)
|
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
err = e
|
|
|
return
|
|
|
}
|
|
|
+ resp.List = GetChartMenuTreeRecursive(classifyAll, 0)
|
|
|
|
|
|
- rootChildMap := make(map[int][]*data_manage.ChartClassifyItems)
|
|
|
- for _, v := range classifyAll {
|
|
|
- rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
- }
|
|
|
- nodeAll := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
- for _, v := range rootList {
|
|
|
- if existItems, ok := rootChildMap[v.ChartClassifyId]; ok {
|
|
|
- v.Children = existItems
|
|
|
- } else {
|
|
|
- items := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
- v.Children = items
|
|
|
- }
|
|
|
- nodeAll = append(nodeAll, v)
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range nodeAll {
|
|
|
- item := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v.ChartClassifyId,
|
|
|
- ClassifyName: v.ChartClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- }
|
|
|
- for _, v2 := range v.Children {
|
|
|
- child := data_manage.EdbChartClassify{
|
|
|
- ClassifyId: v2.ChartClassifyId,
|
|
|
- ClassifyName: v2.ChartClassifyName,
|
|
|
- ParentId: v2.ParentId,
|
|
|
- }
|
|
|
- item.Child = append(item.Child, &child)
|
|
|
- }
|
|
|
- resp.List = append(resp.List, &item)
|
|
|
- }
|
|
|
+ //rootList, e := data_manage.GetChartClassifyByParentIdFromETA(0)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = e
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //classifyAll, e := data_manage.GetChartClassifyAllFromETA()
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = e
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //rootChildMap := make(map[int][]*data_manage.ChartClassifyItems)
|
|
|
+ //for _, v := range classifyAll {
|
|
|
+ // rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
+ //}
|
|
|
+ //nodeAll := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+ //for _, v := range rootList {
|
|
|
+ // if existItems, ok := rootChildMap[v.ChartClassifyId]; ok {
|
|
|
+ // v.Children = existItems
|
|
|
+ // } else {
|
|
|
+ // items := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+ // v.Children = items
|
|
|
+ // }
|
|
|
+ // nodeAll = append(nodeAll, v)
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //for _, v := range nodeAll {
|
|
|
+ // item := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v.ChartClassifyId,
|
|
|
+ // ClassifyName: v.ChartClassifyName,
|
|
|
+ // ParentId: v.ParentId,
|
|
|
+ // }
|
|
|
+ // for _, v2 := range v.Children {
|
|
|
+ // child := data_manage.EdbChartClassify{
|
|
|
+ // ClassifyId: v2.ChartClassifyId,
|
|
|
+ // ClassifyName: v2.ChartClassifyName,
|
|
|
+ // ParentId: v2.ParentId,
|
|
|
+ // }
|
|
|
+ // item.Child = append(item.Child, &child)
|
|
|
+ // }
|
|
|
+ // resp.List = append(resp.List, &item)
|
|
|
+ //}
|
|
|
|
|
|
// 将数据加入缓存
|
|
|
- if utils.Re == nil {
|
|
|
- utils.Rc.Delete(key)
|
|
|
- }
|
|
|
+ //if utils.Re == nil {
|
|
|
+ // utils.Rc.Delete(key)
|
|
|
+ //}
|
|
|
|
|
|
default:
|
|
|
return
|
|
@@ -3009,3 +3029,35 @@ func GetEdbChartAdminList(source int) (list []int, err error) {
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetEdbMenuTreeRecursive 递归指标库菜单树
|
|
|
+func GetEdbMenuTreeRecursive(list []*data_manage.EdbClassifyItems, parentId int) []*data_manage.EdbChartClassify {
|
|
|
+ res := make([]*data_manage.EdbChartClassify, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ t := new(data_manage.EdbChartClassify)
|
|
|
+ t.ClassifyId = v.ClassifyId
|
|
|
+ t.ClassifyName = v.ClassifyName
|
|
|
+ t.ParentId = v.ParentId
|
|
|
+ if v.ParentId == parentId {
|
|
|
+ t.Child = GetEdbMenuTreeRecursive(list, v.ClassifyId)
|
|
|
+ res = append(res, t)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res
|
|
|
+}
|
|
|
+
|
|
|
+// GetChartMenuTreeRecursive 递归指标库菜单树
|
|
|
+func GetChartMenuTreeRecursive(list []*data_manage.ChartClassifyItems, parentId int) []*data_manage.EdbChartClassify {
|
|
|
+ res := make([]*data_manage.EdbChartClassify, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ t := new(data_manage.EdbChartClassify)
|
|
|
+ t.ClassifyId = v.ChartClassifyId
|
|
|
+ t.ClassifyName = v.ChartClassifyName
|
|
|
+ t.ParentId = v.ParentId
|
|
|
+ if v.ParentId == parentId {
|
|
|
+ t.Child = GetChartMenuTreeRecursive(list, v.ChartClassifyId)
|
|
|
+ res = append(res, t)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res
|
|
|
+}
|