123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package cross_variety
- import (
- "eta/eta_api/controllers"
- "eta/eta_api/models"
- "eta/eta_api/models/data_manage"
- "eta/eta_api/services/data"
- "eta/eta_api/utils"
- )
- // ClassifyController
- // @Description: 跨品种分析分类
- type ClassifyController struct {
- controllers.BaseAuthController
- }
- // List
- // @Title 跨品种分析分类列表
- // @Description 跨品种分析分类列表接口
- // @Param IsShowMe query bool true "是否只看我的,true、false"
- // @Param Source query int true "图表类型,3:相关性,4:滚动相关性"
- // @Success 200 {object} data_manage.ChartClassifyListResp
- // @router /classify/list [get]
- func (c *ClassifyController) List() {
- br := new(models.BaseResponse).Init()
- defer func() {
- c.Data["json"] = br
- c.ServeJSON()
- }()
- resp := new(data_manage.ChartClassifyListResp)
- // 获取当前账号的不可见指标
- noPermissionChartIdMap := make(map[int]bool)
- {
- obj := data_manage.EdbInfoNoPermissionAdmin{}
- confList, err := obj.GetAllChartListByAdminId(c.SysUser.AdminId)
- if err != nil && err.Error() != utils.ErrNoRow() {
- br.Msg = "获取失败"
- br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
- return
- }
- for _, v := range confList {
- noPermissionChartIdMap[v.ChartInfoId] = true
- }
- }
- isShowMe, _ := c.GetBool("IsShowMe")
- source, _ := c.GetInt("Source")
- if source <= 0 {
- source = utils.CHART_SOURCE_CROSS_HEDGING
- }
- rootList, err := data_manage.GetChartClassifyByParentId(0, utils.CHART_SOURCE_CROSS_HEDGING)
- if err != nil && err.Error() != utils.ErrNoRow() {
- br.Msg = "获取失败"
- br.ErrMsg = "获取数据失败,Err:" + err.Error()
- return
- }
- allChartInfo, err := data_manage.GetChartInfoAll([]int{source})
- if err != nil && err.Error() != utils.ErrNoRow() {
- br.Msg = "获取失败"
- br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
- return
- }
- chartInfoMap := make(map[int][]*data_manage.ChartClassifyItems)
- for _, v := range allChartInfo {
- if !isShowMe {
- chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
- continue
- }
- if v.SysUserId != c.SysUser.AdminId {
- continue
- }
- chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
- }
- rootChildMap := make(map[int][]*data_manage.ChartClassifyItems)
- // 移除没有图表的分类
- allNodes := make([]*data_manage.ChartClassifyItems, 0)
- for _, v := range rootList {
- rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
- if existItems, ok := chartInfoMap[v.ChartClassifyId]; ok {
- v.Children = existItems
- allNodes = append(allNodes, v)
- }
- }
- // 移除没有权限的图表
- allNodes = data.HandleNoPermissionChart(allNodes, noPermissionChartIdMap)
- resp.AllNodes = allNodes
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
|