|
@@ -483,8 +483,8 @@ func GetEdbChartClassifyIdListPermissionByUserId(source, subSource, userId int)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// GetEdbChartIdListPermissionByDataId
|
|
|
-// @Description: 根据用户id获取已经配置的资产(指标、图表、表格)id列表
|
|
|
+// GetUserIdListPermissionByDataId
|
|
|
+// @Description: 根据资产(指标、图表、表格)id获取已经配置的用户id
|
|
|
// @author: Roc
|
|
|
// @datetime 2024-03-29 16:26:10
|
|
|
// @param source int
|
|
@@ -492,31 +492,138 @@ func GetEdbChartClassifyIdListPermissionByUserId(source, subSource, userId int)
|
|
|
// @param dataId int
|
|
|
// @return idList []int
|
|
|
// @return err error
|
|
|
-func GetEdbChartIdListPermissionByDataId(source, subSource, dataId int) (idList []int, err error) {
|
|
|
+func GetUserIdListPermissionByDataId(source, subSource, dataId int) (idList []int, err error) {
|
|
|
switch source {
|
|
|
- case 3, 4: //ETA指标库、ETA预测指标
|
|
|
- //tmpList, tmpErr := data_manage.GetEdbInfoListGroupByUserId(dataId)
|
|
|
- //if tmpErr != nil {
|
|
|
- // err = tmpErr
|
|
|
- // return
|
|
|
- //}
|
|
|
- //if len(tmpList) > 0 {
|
|
|
- //}
|
|
|
+ case 3, 4:
|
|
|
+ // ETA指标库、ETA预测指标
|
|
|
edbInfoType := 0
|
|
|
if source == 4 {
|
|
|
edbInfoType = 1
|
|
|
}
|
|
|
- idList, err = data_manage_permission.GetPermissionEdbIdListByDataId(dataId, edbInfoType)
|
|
|
+ idList, err = data_manage_permission.GetPermissionUserIdListByEdbId(dataId, edbInfoType)
|
|
|
case 5:
|
|
|
- //图库
|
|
|
+ // 图库
|
|
|
+ chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ idList, err = data_manage_permission.GetPermissionUserIdListByChartId(dataId, chartClassifySource)
|
|
|
+ case 6:
|
|
|
+ // ETA表格
|
|
|
+ idList, err = data_manage_permission.GetPermissionUserIdListByExcelId(dataId, subSource)
|
|
|
+ default:
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetUserIdListNoPermissionByDataId
|
|
|
+// @Description: 根据资产(指标、图表、表格)id获取没有该资产分类权限的用户id
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-03-29 16:26:10
|
|
|
+// @param source int
|
|
|
+// @param subSource int
|
|
|
+// @param dataId int
|
|
|
+// @return idList []int
|
|
|
+// @return err error
|
|
|
+func GetUserIdListNoPermissionByDataId(source, subSource, dataId int) (idList []int, err error) {
|
|
|
+ // 已经授权的用户map
|
|
|
+ authIdList := make([]int, 0)
|
|
|
+
|
|
|
+ switch source {
|
|
|
+ case 3, 4:
|
|
|
+ // ETA指标库、ETA预测指标
|
|
|
+ edbInfoType := 0
|
|
|
+ if source == 4 {
|
|
|
+ edbInfoType = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取指标
|
|
|
+ edbInfoItem, tmpErr := data_manage.GetEdbInfoById(dataId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取分类
|
|
|
+ classifyItem, tmpErr := data_manage.GetEdbClassifyById(edbInfoItem.ClassifyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断分类是否涉密,不涉密就直接返回
|
|
|
+ if classifyItem.IsJoinPermission == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取已经配置分类权限的用户ID列表
|
|
|
+ authIdList, err = data_manage_permission.GetPermissionUserIdListByEdbClassifyId(dataId, edbInfoType)
|
|
|
+ case 5:
|
|
|
+ // 图库
|
|
|
+
|
|
|
+ // 获取图表
|
|
|
+ chartInfoItem, tmpErr := data_manage.GetChartInfoById(dataId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取分类
|
|
|
+ classifyItem, tmpErr := data_manage.GetChartClassifyById(chartInfoItem.ChartClassifyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断分类是否涉密,不涉密就直接返回
|
|
|
+ if classifyItem.IsJoinPermission == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
- idList, err = data_manage_permission.GetPermissionChartIdListByDataId(dataId, chartClassifySource)
|
|
|
+ authIdList, err = data_manage_permission.GetPermissionUserIdListByChartClassifyId(dataId, chartClassifySource)
|
|
|
case 6:
|
|
|
// ETA表格
|
|
|
- idList, err = data_manage_permission.GetPermissionExcelIdListByDataId(dataId, subSource)
|
|
|
+
|
|
|
+ // 获取图表
|
|
|
+ excelInfoItem, tmpErr := excel.GetNoContentExcelInfoByExcelId(dataId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取分类
|
|
|
+ classifyItem, tmpErr := excel.GetExcelClassifyById(excelInfoItem.ExcelClassifyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断分类是否涉密,不涉密就直接返回
|
|
|
+ if classifyItem.IsJoinPermission == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ authIdList, err = data_manage_permission.GetPermissionUserIdListByExcelClassifyId(dataId, subSource)
|
|
|
default:
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 已经授权的用户map
|
|
|
+ authUserIdMap := make(map[int]int)
|
|
|
+ for _, v := range authIdList {
|
|
|
+ authUserIdMap[v] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取所有在用的用户
|
|
|
+ cond := ` AND enabled = 1`
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+
|
|
|
+ adminList, authRecordErr := system.GetSysAdminList(cond, pars, []string{}, "")
|
|
|
+ if authRecordErr != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range adminList {
|
|
|
+ if _, ok := authUserIdMap[v.AdminId]; !ok {
|
|
|
+ idList = append(idList, v.AdminId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|