Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/eta/1.7.6' into debug

Roc 1 anno fa
parent
commit
2222630117

+ 17 - 11
controllers/data_manage/chart_info.go

@@ -1906,8 +1906,11 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 		}
 	}
 
+	// 是否走ES
+	isEs := false
 	if keyword != "" {
 		searchList, total, err = data.EsSearchChartInfo(keyword, showSysId, []int{utils.CHART_SOURCE_DEFAULT}, noPermissionChartIdList, startSize, pageSize)
+		isEs = true
 	} else {
 		total, searchList, err = data_manage.ChartInfoSearchByEmptyKeyWord(showSysId, []int{utils.CHART_SOURCE_DEFAULT}, noPermissionChartIdList, startSize, pageSize)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1945,8 +1948,6 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 				chartEdbMap[v.ChartInfoId] = append(chartEdbMap[v.ChartInfoId], v)
 			}
 		}
-		// 当前列表中的图表map
-		chartInfoMap := make(map[int]*data_manage.ChartInfo)
 		// 当前列表中的分类map
 		chartClassifyMap := make(map[int]*data_manage.ChartClassify)
 
@@ -1963,7 +1964,9 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 			}
 		}
 		// 图表
-		{
+		if isEs {
+			// 当前列表中的图表map
+			chartInfoMap := make(map[int]*data_manage.ChartInfo)
 			tmpChartList, err := data_manage.GetChartInfoByIdList(chartInfoIdList)
 			if err != nil {
 				br.Msg = "获取失败"
@@ -1973,6 +1976,14 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 			for _, tmpChartInfo := range tmpChartList {
 				chartInfoMap[tmpChartInfo.ChartInfoId] = tmpChartInfo
 			}
+			for _, v := range searchList {
+				// 图表权限
+				chartViewInfo, ok := chartInfoMap[v.ChartInfoId]
+				if !ok {
+					continue
+				}
+				v.IsJoinPermission = chartViewInfo.IsJoinPermission
+			}
 		}
 
 		// 已授权图表和分类id
@@ -1984,12 +1995,6 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 		}
 
 		for _, v := range searchList {
-			// 图表权限
-			chartViewInfo, ok := chartInfoMap[v.ChartInfoId]
-			if !ok {
-				continue
-			}
-
 			tmp := new(data_manage.ChartInfoMore)
 			tmp.ChartInfo = *v
 			//判断是否需要展示英文标识
@@ -1997,8 +2002,9 @@ func (this *ChartInfoController) ChartInfoSearchByEs() {
 				tmp.IsEnChart = data.CheckIsEnChart(v.ChartNameEn, edbTmpList, v.Source, v.ChartType)
 			}
 
-			if currClassify, ok := chartClassifyMap[chartViewInfo.ChartClassifyId]; ok {
-				tmp.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(chartViewInfo.IsJoinPermission, currClassify.IsJoinPermission, chartViewInfo.ChartInfoId, chartViewInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
+			// 图表权限
+			if currClassify, ok := chartClassifyMap[v.ChartClassifyId]; ok {
+				tmp.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.ChartInfoId, v.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
 			}
 
 			finalList = append(finalList, tmp)

+ 21 - 10
controllers/data_manage/edb_info.go

@@ -3232,6 +3232,7 @@ func (this *EdbInfoController) EdbInfoFilterByEs() {
 			return
 		}
 
+		// 如果是ES的话,需要重新查一下指标的信息,主要是为了把是否授权字段找出来
 		if isEs {
 			edbInfoIdList := make([]int, 0)
 			for i := 0; i < edbInfoListLen; i++ {
@@ -3254,17 +3255,21 @@ func (this *EdbInfoController) EdbInfoFilterByEs() {
 			}
 
 			for i := 0; i < edbInfoListLen; i++ {
-				tmpEdbInfoItem := edbInfoList[i]
-				tmpEdbInfo, ok := edbInfoMap[tmpEdbInfoItem.EdbInfoId]
+				tmpEdbInfo, ok := edbInfoMap[edbInfoList[i].EdbInfoId]
 				if !ok {
 					continue
 				}
-				if currClassify, ok := classifyMap[tmpEdbInfo.ClassifyId]; ok {
-					edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfo.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfo.EdbInfoId, tmpEdbInfo.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
-				}
+				edbInfoList[i].IsJoinPermission = tmpEdbInfo.IsJoinPermission
 			}
 		}
 
+		// 权限校验
+		for i := 0; i < edbInfoListLen; i++ {
+			tmpEdbInfoItem := edbInfoList[i]
+			if currClassify, ok := classifyMap[tmpEdbInfoItem.ClassifyId]; ok {
+				edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfoItem.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfoItem.EdbInfoId, tmpEdbInfoItem.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
+			}
+		}
 	}
 
 	for i := 0; i < edbInfoListLen; i++ {
@@ -4501,6 +4506,7 @@ func (this *EdbInfoController) AllEdbInfoByEs() {
 			return
 		}
 
+		// 如果是ES的话,需要重新查一下指标的信息,主要是为了把是否授权字段找出来
 		if isEs {
 			edbInfoIdList := make([]int, 0)
 			for i := 0; i < edbInfoListLen; i++ {
@@ -4523,14 +4529,19 @@ func (this *EdbInfoController) AllEdbInfoByEs() {
 			}
 
 			for i := 0; i < edbInfoListLen; i++ {
-				tmpEdbInfoItem := edbInfoList[i]
-				tmpEdbInfo, ok := edbInfoMap[tmpEdbInfoItem.EdbInfoId]
+				tmpEdbInfo, ok := edbInfoMap[edbInfoList[i].EdbInfoId]
 				if !ok {
 					continue
 				}
-				if currClassify, ok := classifyMap[tmpEdbInfo.ClassifyId]; ok {
-					edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfo.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfo.EdbInfoId, tmpEdbInfo.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
-				}
+				edbInfoList[i].IsJoinPermission = tmpEdbInfo.IsJoinPermission
+			}
+		}
+
+		// 权限校验
+		for i := 0; i < edbInfoListLen; i++ {
+			tmpEdbInfoItem := edbInfoList[i]
+			if currClassify, ok := classifyMap[tmpEdbInfoItem.ClassifyId]; ok {
+				edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfoItem.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfoItem.EdbInfoId, tmpEdbInfoItem.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
 			}
 		}
 

+ 11 - 5
controllers/data_manage/predict_edb_info.go

@@ -1288,6 +1288,7 @@ func (this *PredictEdbInfoController) FilterByEs() {
 			return
 		}
 
+		// 如果是ES的话,需要重新查一下指标的信息,主要是为了把是否授权字段找出来
 		if isEs {
 			edbInfoIdList := make([]int, 0)
 			for i := 0; i < edbInfoListLen; i++ {
@@ -1310,14 +1311,19 @@ func (this *PredictEdbInfoController) FilterByEs() {
 			}
 
 			for i := 0; i < edbInfoListLen; i++ {
-				tmpEdbInfoItem := edbInfoList[i]
-				tmpEdbInfo, ok := edbInfoMap[tmpEdbInfoItem.EdbInfoId]
+				tmpEdbInfo, ok := edbInfoMap[edbInfoList[i].EdbInfoId]
 				if !ok {
 					continue
 				}
-				if currClassify, ok := classifyMap[tmpEdbInfo.ClassifyId]; ok {
-					edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfo.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfo.EdbInfoId, tmpEdbInfo.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
-				}
+				edbInfoList[i].IsJoinPermission = tmpEdbInfo.IsJoinPermission
+			}
+		}
+
+		// 权限校验
+		for i := 0; i < edbInfoListLen; i++ {
+			tmpEdbInfo := edbInfoList[i]
+			if currClassify, ok := classifyMap[tmpEdbInfo.ClassifyId]; ok {
+				edbInfoList[i].HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(tmpEdbInfo.IsJoinPermission, currClassify.IsJoinPermission, tmpEdbInfo.EdbInfoId, tmpEdbInfo.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
 			}
 		}