diff --git a/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/enums/DataPermissionTypeEnum.java b/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/enums/DataPermissionTypeEnum.java index 4652ef1a..3cea4a06 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/enums/DataPermissionTypeEnum.java +++ b/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/enums/DataPermissionTypeEnum.java @@ -1,5 +1,8 @@ package com.orion.ops.module.infra.enums; +import lombok.AllArgsConstructor; +import lombok.Getter; + /** * 数据权限类型 * @@ -7,15 +10,22 @@ package com.orion.ops.module.infra.enums; * @version 1.0.0 * @since 2023/11/8 18:57 */ +@Getter +@AllArgsConstructor public enum DataPermissionTypeEnum { /** * 主机分组 */ - HOST_GROUP, + HOST_GROUP(true), ; + /** + * 是否会分配给角色 + */ + private final boolean toRole; + public static DataPermissionTypeEnum of(String type) { if (type == null) { return null; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DataPermissionServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DataPermissionServiceImpl.java index 3427b017..8e59c379 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DataPermissionServiceImpl.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/DataPermissionServiceImpl.java @@ -2,6 +2,7 @@ package com.orion.ops.module.infra.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.orion.lang.utils.collect.Lists; +import com.orion.ops.framework.common.utils.Valid; import com.orion.ops.framework.mybatis.core.query.Conditions; import com.orion.ops.framework.redis.core.utils.RedisLists; import com.orion.ops.framework.redis.core.utils.RedisUtils; @@ -11,6 +12,7 @@ import com.orion.ops.module.infra.dao.SystemUserRoleDAO; import com.orion.ops.module.infra.define.cache.DataPermissionCacheKeyDefine; import com.orion.ops.module.infra.entity.domain.DataPermissionDO; import com.orion.ops.module.infra.entity.request.data.DataPermissionUpdateRequest; +import com.orion.ops.module.infra.enums.DataPermissionTypeEnum; import com.orion.ops.module.infra.service.DataPermissionService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -131,6 +133,7 @@ public class DataPermissionServiceImpl implements DataPermissionService { @Override public List getUserAuthorizedRelIdList(String type, Long userId) { + DataPermissionTypeEnum dataType = Valid.valid(DataPermissionTypeEnum::of, type); String cacheKey = DataPermissionCacheKeyDefine.DATA_PERMISSION_USER.format(type, userId); // 获取缓存 List list = RedisLists.range(cacheKey, Long::valueOf); @@ -139,9 +142,11 @@ public class DataPermissionServiceImpl implements DataPermissionService { .eq(DataPermissionDO::getType, type) .eq(DataPermissionDO::getUserId, userId); // 查询用户角色 - List roleIdList = systemUserRoleDAO.selectRoleIdByUserId(userId); - if (!roleIdList.isEmpty()) { - wrapper.or().in(DataPermissionDO::getRoleId, roleIdList); + if (dataType.isToRole()) { + List roleIdList = systemUserRoleDAO.selectRoleIdByUserId(userId); + if (!roleIdList.isEmpty()) { + wrapper.or().in(DataPermissionDO::getRoleId, roleIdList); + } } // 查询数据库 list = dataPermissionDAO.of() diff --git a/orion-ops-ui/src/components/view/tab-router/index.vue b/orion-ops-ui/src/components/view/tab-router/index.vue index 83dbdfbf..918c37a6 100644 --- a/orion-ops-ui/src/components/view/tab-router/index.vue +++ b/orion-ops-ui/src/components/view/tab-router/index.vue @@ -1,11 +1,11 @@