|
@@ -1936,6 +1936,58 @@ func (this *LineFeaturesChartInfoController) Detail() {
|
|
|
IsSetName: chartInfo.IsSetName,
|
|
|
}
|
|
|
|
|
|
+ chartInfo.HaveOperaAuth = true
|
|
|
+ // 指标权限
|
|
|
+ {
|
|
|
+ edbClassifyPermissionMap := make(map[int]data_manage_permission.EdbClassifyPermission)
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
+ // 分类
|
|
|
+ {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range edbList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ classifyList, tmpErr := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类列表失败,Err:" + tmpErr.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ClassifyId] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 遍历到校验map
|
|
|
+ for _, v := range edbList {
|
|
|
+ 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 {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range edbList {
|
|
|
+ // 数据权限
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
resp := new(data_manage.ChartInfoDetailResp)
|
|
|
resp.ChartInfo = chartInfo
|
|
|
resp.EdbInfoList = edbList
|