|
@@ -1,10 +1,8 @@
|
|
|
package data_manage_permission
|
|
|
|
|
|
import (
|
|
|
- "eta/eta_api/models/data_manage"
|
|
|
"eta/eta_api/models/data_manage/data_manage_permission"
|
|
|
"eta/eta_api/utils"
|
|
|
- "fmt"
|
|
|
)
|
|
|
|
|
|
// SetEdbChartPermission
|
|
@@ -66,24 +64,18 @@ func SetEdbChartPermission(source, subSource, userId int, userList []int, isSele
|
|
|
if source == 4 {
|
|
|
edbInfoType = 1
|
|
|
}
|
|
|
- err = data_manage_permission.SetPermissionEdbChartByEdbIdList(dataIdList, userList, edbInfoType)
|
|
|
- //case 5: //图库
|
|
|
- // tmpList, tmpErr := data_manage.GetChartInfoListGroupByUserId(dataId)
|
|
|
- // if tmpErr != nil {
|
|
|
- // err = tmpErr
|
|
|
- // return
|
|
|
- // }
|
|
|
- // if len(tmpList) > 0 {
|
|
|
- // for _, v := range tmpList {
|
|
|
- // if v.SysUserId == newUserId {
|
|
|
- // errMsg = "新创建人不可和原创建人一致"
|
|
|
- // err = errors.New(errMsg)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 修改创建人
|
|
|
- // err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
|
|
|
- // }
|
|
|
+ err = data_manage_permission.SetPermissionByEdbIdList(dataIdList, userList, edbInfoType)
|
|
|
+ case 5: //图库
|
|
|
+ //tmpList, tmpErr := data_manage.GetEdbInfoListGroupByUserId(dataId)
|
|
|
+ //if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //if len(tmpList) > 0 {
|
|
|
+ //}
|
|
|
+ // 重新设置权限
|
|
|
+ chartSource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ err = data_manage_permission.SetPermissionByChartIdList(dataIdList, userList, chartSource)
|
|
|
//case 6: // ETA表格
|
|
|
// tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
|
|
|
// if tmpErr != nil {
|
|
@@ -135,7 +127,11 @@ func SetDataIsPermission(source, subSource int, classifyIdList []int) (err error
|
|
|
classifyType = 1
|
|
|
}
|
|
|
err = data_manage_permission.SetIsPermissionEdbChartByEdbClassifyIdList(classifyIdList, classifyType)
|
|
|
- //case 5: //图库
|
|
|
+
|
|
|
+ case 5: //图库
|
|
|
+ // 重新设置权限
|
|
|
+ chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ err = data_manage_permission.SetIsPermissionByChartClassifyIdList(classifyIdList, chartClassifySource)
|
|
|
|
|
|
//case 6: // ETA表格
|
|
|
|
|
@@ -177,24 +173,19 @@ func SetEdbChartClassifyPermission(source, subSource int, userList []int, classi
|
|
|
if source == 4 {
|
|
|
classifyType = 1
|
|
|
}
|
|
|
- err = data_manage_permission.SetPermissionEdbChartClassifyIdByClassifyIdList(classifyIdList, userList, classifyType)
|
|
|
- //case 5: //图库
|
|
|
- // tmpList, tmpErr := data_manage.GetChartInfoListGroupByUserId(dataId)
|
|
|
- // if tmpErr != nil {
|
|
|
- // err = tmpErr
|
|
|
- // return
|
|
|
- // }
|
|
|
- // if len(tmpList) > 0 {
|
|
|
- // for _, v := range tmpList {
|
|
|
- // if v.SysUserId == newUserId {
|
|
|
- // errMsg = "新创建人不可和原创建人一致"
|
|
|
- // err = errors.New(errMsg)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 修改创建人
|
|
|
- // err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
|
|
|
- // }
|
|
|
+ err = data_manage_permission.SetPermissionByEdbClassifyIdList(classifyIdList, userList, classifyType)
|
|
|
+ case 5: //图库
|
|
|
+
|
|
|
+ //tmpList, tmpErr := data_manage.GetEdbInfoListGroupByUserId(dataId)
|
|
|
+ //if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //if len(tmpList) > 0 {
|
|
|
+ //}
|
|
|
+ // 重新设置权限
|
|
|
+ chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ err = data_manage_permission.SetPermissionByChartClassifyIdList(classifyIdList, userList, chartClassifySource)
|
|
|
//case 6: // ETA表格
|
|
|
// tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
|
|
|
// if tmpErr != nil {
|
|
@@ -219,153 +210,6 @@ func SetEdbChartClassifyPermission(source, subSource int, userList []int, classi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// CheckEdbPermissionByPermissionIdList
|
|
|
-// @Description: 检查EDB指标(含预测指标)权限
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-28 16:12:08
|
|
|
-// @param edbIsJoinPermission int
|
|
|
-// @param edbClassifyIsJoinPermission int
|
|
|
-// @param edbInfoId int
|
|
|
-// @param edbClassifyId int
|
|
|
-// @param permissionEdbInfoIdList []int
|
|
|
-// @param permissionEdbClassifyIdList []int
|
|
|
-// @return hasAuth bool
|
|
|
-func CheckEdbPermissionByPermissionIdList(edbIsJoinPermission, edbClassifyIsJoinPermission, edbInfoId, edbClassifyId int, permissionEdbInfoIdList, permissionEdbClassifyIdList []int) (hasAuth bool) {
|
|
|
- //hasAuth = true
|
|
|
-
|
|
|
- // 判断 分类是否纳入权限管控
|
|
|
- if edbClassifyIsJoinPermission == 1 {
|
|
|
- // 不属于已授权的分类,那么就无权限
|
|
|
- if !utils.InArrayByInt(permissionEdbClassifyIdList, edbClassifyId) {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 判断 指标是否纳入权限管控
|
|
|
- if edbIsJoinPermission == 1 {
|
|
|
- // 不属于已授权的指标,那么就无权限
|
|
|
- if !utils.InArrayByInt(permissionEdbInfoIdList, edbInfoId) {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- hasAuth = true
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// CheckEdbClassifyPermissionByPermissionIdList
|
|
|
-// @Description: 检查EDB分类权限
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-29 14:35:19
|
|
|
-// @param edbClassifyIsJoinPermission int
|
|
|
-// @param edbClassifyId int
|
|
|
-// @param permissionEdbClassifyIdList []int
|
|
|
-// @return hasAuth bool
|
|
|
-func CheckEdbClassifyPermissionByPermissionIdList(edbClassifyIsJoinPermission, edbClassifyId int, permissionEdbClassifyIdList []int) (hasAuth bool) {
|
|
|
- // 判断 分类是否纳入权限管控
|
|
|
- if edbClassifyIsJoinPermission == 1 {
|
|
|
- // 不属于已授权的分类,那么就无权限
|
|
|
- if !utils.InArrayByInt(permissionEdbClassifyIdList, edbClassifyId) {
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- hasAuth = true
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// GetUserEdbAndClassifyPermissionList
|
|
|
-// @Description: 根据用户获取已经授权指标ID列表和指标分类ID列表
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-28 17:20:36
|
|
|
-// @param userId int
|
|
|
-// @param edbInfoId int 如果传递了edbInfoId,则只返回该edbInfoId的权限列表(其实也就是为了判断是否存在该指标权限了,目的是为了少获取数据)
|
|
|
-// @param classifyId int classifyId,则只返回该classifyId的权限列表(其实也就是为了判断是否存在该指标分类权限了,目的是为了少获取数据)
|
|
|
-// @return edbIdList []int
|
|
|
-// @return classifyIdList []int
|
|
|
-// @return err error
|
|
|
-func GetUserEdbAndClassifyPermissionList(userId, edbInfoId, classifyId int) (edbIdList, classifyIdList []int, err error) {
|
|
|
- // 获取有权限的指标ID列表
|
|
|
- edbIdList, err = data_manage_permission.GetPermissionEdbIdList(userId, edbInfoId)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("获取授权指标列表失败, err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 获取有权限的指标分类ID列表
|
|
|
- classifyIdList, err = data_manage_permission.GetPermissionEdbClassifyIdList(userId, classifyId)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("获取授权指标分类列表失败, err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// GetUserEdbClassifyPermissionList
|
|
|
-// @Description: 根据用户获取已经授权指标分类ID列表
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-28 17:20:36
|
|
|
-// @param userId int
|
|
|
-// @param classifyId int classifyId,则只返回该classifyId的权限列表(其实也就是为了判断是否存在该指标分类权限了,目的是为了少获取数据)
|
|
|
-// @return classifyIdList []int
|
|
|
-// @return err error
|
|
|
-func GetUserEdbClassifyPermissionList(userId, classifyId int) (classifyIdList []int, err error) {
|
|
|
- // 获取有权限的指标分类ID列表
|
|
|
- classifyIdList, err = data_manage_permission.GetPermissionEdbClassifyIdList(userId, classifyId)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("获取授权指标分类列表失败, err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// CheckEdbPermissionByEdbInfoId
|
|
|
-// @Description: 根据指标id和指标分类id,检查EDB指标(含预测指标)权限(方法内部自己获取所有的指标和指标分类权限,不用额外传递)
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-29 13:28:06
|
|
|
-// @param edbInfoId int
|
|
|
-// @param edbClassifyId int
|
|
|
-// @param edbIsJoinPermission int
|
|
|
-// @param userId int
|
|
|
-// @return hasAuth bool
|
|
|
-// @return err error
|
|
|
-func CheckEdbPermissionByEdbInfoId(edbInfoId, edbClassifyId, edbIsJoinPermission, userId int) (hasAuth bool, err error) {
|
|
|
- currClassify, err := data_manage.GetEdbClassifyById(edbClassifyId)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- if currClassify != nil {
|
|
|
- return CheckEdbPermission(edbIsJoinPermission, currClassify.IsJoinPermission, userId, edbInfoId, edbClassifyId)
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// CheckEdbPermission
|
|
|
-// @Description: 检查EDB指标(含预测指标)权限(方法内部自己获取所有的指标和指标分类权限,不用额外传递)
|
|
|
-// @author: Roc
|
|
|
-// @datetime 2024-03-28 16:12:08
|
|
|
-// @param edbIsJoinPermission int
|
|
|
-// @param edbClassifyIsJoinPermission int
|
|
|
-// @param edbInfoId int
|
|
|
-// @param edbClassifyId int
|
|
|
-// @return hasAuth bool
|
|
|
-func CheckEdbPermission(edbIsJoinPermission, edbClassifyIsJoinPermission, userId, edbInfoId, edbClassifyId int) (hasAuth bool, err error) {
|
|
|
- edbIdList, classifyIdList, err := GetUserEdbAndClassifyPermissionList(userId, edbInfoId, edbClassifyId)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("GetUserEdbAndClassifyPermissionList err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- hasAuth = CheckEdbPermissionByPermissionIdList(edbIsJoinPermission, edbClassifyIsJoinPermission, edbInfoId, edbClassifyId, edbIdList, classifyIdList)
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
// GetEdbChartClassifyIdListPermissionByUserId
|
|
|
// @Description: 根据用户id获取已经配置的分类id列表
|
|
|
// @author: Roc
|
|
@@ -391,23 +235,10 @@ func GetEdbChartClassifyIdListPermissionByUserId(source, subSource, userId int)
|
|
|
classifyType = 1
|
|
|
}
|
|
|
idList, err = data_manage_permission.GetPermissionEdbClassifyIdListByUserId(userId, classifyType)
|
|
|
- //case 5: //图库
|
|
|
- // tmpList, tmpErr := data_manage.GetChartInfoListGroupByUserId(dataId)
|
|
|
- // if tmpErr != nil {
|
|
|
- // err = tmpErr
|
|
|
- // return
|
|
|
- // }
|
|
|
- // if len(tmpList) > 0 {
|
|
|
- // for _, v := range tmpList {
|
|
|
- // if v.SysUserId == newUserId {
|
|
|
- // errMsg = "新创建人不可和原创建人一致"
|
|
|
- // err = errors.New(errMsg)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 修改创建人
|
|
|
- // err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
|
|
|
- // }
|
|
|
+ case 5:
|
|
|
+ //图库
|
|
|
+ chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ idList, err = data_manage_permission.GetPermissionChartClassifyIdListByUserId(userId, chartClassifySource)
|
|
|
//case 6: // ETA表格
|
|
|
// tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
|
|
|
// if tmpErr != nil {
|
|
@@ -450,29 +281,15 @@ func GetEdbChartIdListPermissionByDataId(source, subSource, dataId int) (idList
|
|
|
//}
|
|
|
//if len(tmpList) > 0 {
|
|
|
//}
|
|
|
- // 重新设置权限
|
|
|
edbInfoType := 0
|
|
|
if source == 4 {
|
|
|
edbInfoType = 1
|
|
|
}
|
|
|
idList, err = data_manage_permission.GetPermissionEdbIdListByDataId(dataId, edbInfoType)
|
|
|
- //case 5: //图库
|
|
|
- // tmpList, tmpErr := data_manage.GetChartInfoListGroupByUserId(dataId)
|
|
|
- // if tmpErr != nil {
|
|
|
- // err = tmpErr
|
|
|
- // return
|
|
|
- // }
|
|
|
- // if len(tmpList) > 0 {
|
|
|
- // for _, v := range tmpList {
|
|
|
- // if v.SysUserId == newUserId {
|
|
|
- // errMsg = "新创建人不可和原创建人一致"
|
|
|
- // err = errors.New(errMsg)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 修改创建人
|
|
|
- // err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
|
|
|
- // }
|
|
|
+ case 5:
|
|
|
+ //图库
|
|
|
+ chartClassifySource := utils.CHART_SOURCE_DEFAULT
|
|
|
+ idList, err = data_manage_permission.GetPermissionChartIdListByDataId(dataId, chartClassifySource)
|
|
|
//case 6: // ETA表格
|
|
|
// tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
|
|
|
// if tmpErr != nil {
|