|
@@ -2239,6 +2239,96 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 指标数据map
|
|
|
+ edbClassifyPermissionMap := make(map[int]data_manage_permission.EdbClassifyPermission)
|
|
|
+ defer func() {
|
|
|
+ if isOk {
|
|
|
+
|
|
|
+ // 图表权限校验
|
|
|
+ {
|
|
|
+ resp.ChartInfo.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(chartInfo.IsJoinPermission, chartClassify.IsJoinPermission, chartInfo.ChartInfoId, chartInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
+
|
|
|
+ //图表操作权限
|
|
|
+ chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, resp.ChartInfo.HaveOperaAuth)
|
|
|
+ chartInfo.Button = data_manage.ChartViewButton{
|
|
|
+ IsEdit: chartInfo.IsEdit,
|
|
|
+ IsEnChart: chartInfo.IsEnChart,
|
|
|
+ IsAdd: chartInfo.IsAdd,
|
|
|
+ IsCopy: true,
|
|
|
+ IsSetName: chartInfo.IsSetName,
|
|
|
+ }
|
|
|
+
|
|
|
+ if !resp.ChartInfo.HaveOperaAuth {
|
|
|
+ for _, v := range resp.EdbInfoList {
|
|
|
+ v.DataList = nil
|
|
|
+ }
|
|
|
+ resp.DataResp = nil
|
|
|
+ resp.XEdbIdValue = []int{}
|
|
|
+ resp.YDataList = []data_manage.YData{}
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 指标权限
|
|
|
+ {
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
+ // 分类
|
|
|
+ {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range resp.EdbInfoList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ classifyList, tmpErr := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "获取分类列表失败,Err:" + tmpErr.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ClassifyId] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 指标
|
|
|
+ if len(edbClassifyPermissionMap) < 0 {
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
+ for _, v := range resp.EdbInfoList {
|
|
|
+ edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ edbInfoList, tmpErr := data_manage.GetEdbInfoByIdList(edbInfoIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "获取指标列表失败,Err:" + tmpErr.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ edbClassifyPermissionMap[v.EdbInfoId] = data_manage_permission.EdbClassifyPermission{
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
+ IsJoinPermission: v.IsJoinPermission,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取所有有权限的指标和分类
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(sysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range resp.EdbInfoList {
|
|
|
+ // 数据权限
|
|
|
+ edbItem, ok := edbClassifyPermissionMap[v.EdbInfoId]
|
|
|
+ if !ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ if currClassify, ok := classifyMap[edbItem.ClassifyId]; ok {
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(edbItem.IsJoinPermission, currClassify.IsJoinPermission, edbItem.EdbInfoId, edbItem.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
//判断是否存在缓存,如果存在缓存,那么直接从缓存中获取
|
|
|
key := data.GetChartInfoDataKey(chartInfo.ChartInfoId)
|
|
|
if utils.Re == nil && isCache {
|
|
@@ -2292,65 +2382,6 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 图表权限校验
|
|
|
- {
|
|
|
- resp.ChartInfo.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(chartInfo.IsJoinPermission, chartClassify.IsJoinPermission, chartInfo.ChartInfoId, chartInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
-
|
|
|
- //图表操作权限
|
|
|
- chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, resp.ChartInfo.HaveOperaAuth)
|
|
|
- chartInfo.Button = data_manage.ChartViewButton{
|
|
|
- IsEdit: chartInfo.IsEdit,
|
|
|
- IsEnChart: chartInfo.IsEnChart,
|
|
|
- IsAdd: chartInfo.IsAdd,
|
|
|
- IsCopy: true,
|
|
|
- IsSetName: chartInfo.IsSetName,
|
|
|
- }
|
|
|
-
|
|
|
- if !resp.ChartInfo.HaveOperaAuth {
|
|
|
- for _, v := range resp.EdbInfoList {
|
|
|
- v.DataList = nil
|
|
|
- }
|
|
|
- resp.DataResp = nil
|
|
|
- resp.XEdbIdValue = []int{}
|
|
|
- resp.YDataList = []data_manage.YData{}
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 指标权限
|
|
|
- {
|
|
|
-
|
|
|
- classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
-
|
|
|
- // 分类
|
|
|
- {
|
|
|
- classifyIdList := make([]int, 0)
|
|
|
- for _, v := range resp.EdbInfoList {
|
|
|
- classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
- }
|
|
|
- classifyList, tmpErr := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
- if tmpErr != nil {
|
|
|
- errMsg = "获取分类列表失败,Err:" + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range classifyList {
|
|
|
- classifyMap[v.ClassifyId] = v
|
|
|
- }
|
|
|
- }
|
|
|
- // 获取所有有权限的指标和分类
|
|
|
- permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(sysUser.AdminId, 0, 0)
|
|
|
- if err != nil {
|
|
|
- errMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, item := range resp.EdbInfoList {
|
|
|
- // 数据权限
|
|
|
- if currClassify, ok := classifyMap[item.ClassifyId]; ok {
|
|
|
- item.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(item.IsJoinPermission, currClassify.IsJoinPermission, item.EdbInfoId, item.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
isOk = true
|
|
|
fmt.Println("source redis")
|
|
|
return
|
|
@@ -2486,61 +2517,12 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
}
|
|
|
isOk = true
|
|
|
|
|
|
- // 权限校验
|
|
|
- {
|
|
|
- resp.ChartInfo.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(chartInfo.IsJoinPermission, chartClassify.IsJoinPermission, chartInfo.ChartInfoId, chartInfo.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
-
|
|
|
- //图表操作权限
|
|
|
- chartInfo.IsEdit = data.CheckOpChartPermission(sysUser, chartInfo.SysUserId, resp.ChartInfo.HaveOperaAuth)
|
|
|
- chartInfo.Button = data_manage.ChartViewButton{
|
|
|
- IsEdit: chartInfo.IsEdit,
|
|
|
- IsEnChart: chartInfo.IsEnChart,
|
|
|
- IsAdd: chartInfo.IsAdd,
|
|
|
- IsCopy: true,
|
|
|
- IsSetName: chartInfo.IsSetName,
|
|
|
- }
|
|
|
- if !resp.ChartInfo.HaveOperaAuth {
|
|
|
- for _, v := range resp.EdbInfoList {
|
|
|
- v.DataList = nil
|
|
|
- }
|
|
|
- resp.DataResp = nil
|
|
|
- resp.XEdbIdValue = []int{}
|
|
|
- resp.YDataList = []data_manage.YData{}
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 指标权限
|
|
|
- {
|
|
|
-
|
|
|
- classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
-
|
|
|
- // 分类
|
|
|
- {
|
|
|
- classifyIdList := make([]int, 0)
|
|
|
- for _, v := range resp.EdbInfoList {
|
|
|
- classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
- }
|
|
|
- classifyList, tmpErr := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
- if tmpErr != nil {
|
|
|
- errMsg = "获取分类列表失败,Err:" + tmpErr.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range classifyList {
|
|
|
- classifyMap[v.ClassifyId] = v
|
|
|
- }
|
|
|
- }
|
|
|
- // 获取所有有权限的指标和分类
|
|
|
- permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(sysUser.AdminId, 0, 0)
|
|
|
- if err != nil {
|
|
|
- errMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, item := range resp.EdbInfoList {
|
|
|
- // 数据权限
|
|
|
- if currClassify, ok := classifyMap[item.ClassifyId]; ok {
|
|
|
- item.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(item.IsJoinPermission, currClassify.IsJoinPermission, item.EdbInfoId, item.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
- }
|
|
|
+ // 遍历到校验map
|
|
|
+ for _, v := range edbList {
|
|
|
+ edbClassifyPermissionMap[v.EdbInfoId] = data_manage_permission.EdbClassifyPermission{
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
+ IsJoinPermission: v.IsJoinPermission,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
}
|
|
|
}
|
|
|
|