package data_manage import ( "eta/eta_api/models" "eta/eta_api/models/data_manage" ) // GetChartTypeList // @Title 获取所有图表类型 // @Description 获取所有图表类型 // @Success 200 {object} data_manage.AddChartInfoResp // @router /chart_info/type_list [get] func (this *ChartInfoController) GetChartTypeList() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } listTmp, err := data_manage.GetChartTypeList() if err != nil { br.Msg = "获取图表类型失败" br.ErrMsg = "获取图表类型失败,Err:" + err.Error() return } //遍历list,将id和name组成map chartTypeMap := make(map[int][]data_manage.ChartType) for _, v := range listTmp { if v.ParentId > 0 { chartTypeMap[v.ParentId] = append(chartTypeMap[v.ParentId], v) } } list := make([]data_manage.ChartTypeList, 0) for _, v := range listTmp { if v.ParentId == 0 { tmp := data_manage.ChartTypeList{ ChartTypeId: v.ChartTypeId, ChartTypeName: v.ChartTypeName, ParentId: v.ParentId, } child, ok := chartTypeMap[v.ChartTypeId] if ok { tmp.Child = child } list = append(list, tmp) } } resp := data_manage.ChartTypeListResp{List: list} br.Data = resp br.Ret = 200 br.Success = true br.Msg = "获取图表类型成功" }