From 3a12bbdaab43d249887683223191e57f1092d377 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 23 一月 2024 10:56:16 +0800 Subject: [PATCH] 新增加管理后台数据权限 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java index 652e19e..e66dc81 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl.sys; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; @@ -673,6 +674,7 @@ public void editUserMenu(UserMenuEditDto userMenuEditDto){ SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId()); sysUser.setDataScope(userMenuEditDto.getDataScope()); + sysUser.setDataScopeEmployee(userMenuEditDto.getDataScopeEmployee()); userMapper.updateUser(sysUser); userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId()); int rows = 1; @@ -729,4 +731,37 @@ } userMapper.updateUser(sysUser); } + + + /** + * 获取当前员工权限范围内的员工id + * @return + */ + @Override + public List<Long> getScopeOfAuthorityUserId() { + List<Long> userIds = new ArrayList<>(); + Long userId = SecurityUtils.getUserId(); + SysUser user = this.getById(userId); + String dataScope = user.getDataScope(); + //没有配置默认查询自己 + if(!SecurityUtils.isAdmin(userId) && StringUtils.isEmpty(dataScope)){ + userIds.add(userId); + } + //管理员或者全部权限 + if(SecurityUtils.isAdmin(userId) || (StringUtils.isNotEmpty(dataScope) && "1".equals(dataScope))){ + List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0).eq("del_flag", 0)); + userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); + } + //部分权限 + if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ + List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0) + .eq("del_flag", 0).eq("dept_id", user.getDeptId())); + userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); + } + //个人权限 + if(StringUtils.isNotEmpty(dataScope) && "5".equals(dataScope)){ + userIds.add(userId); + } + return userIds; + } } -- Gitblit v1.7.1