From 03f1f3372a10a08f96f3308bfa099e86a55046d0 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 30 一月 2024 09:32:38 +0800 Subject: [PATCH] 修改数据权限bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 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..e5e799d 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,39 @@ } userMapper.updateUser(sysUser); } + + + /** + * 获取当前员工权限范围内的员工id + * @return + */ + @Override + public List<Long> getScopeOfAuthorityUserId() { + List<Long> userIds = new ArrayList<>(); + Long userId = SecurityUtils.getUserId(); + SysUser user = this.baseMapper.selectUserById(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))){ + return null; + } + //部分权限 + if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ + SysUser user1 = new SysUser(); + user1.setUserType("00"); + user1.setStatus("0"); + user1.setDeptId(user.getDeptId()); + List<SysUser> list = this.baseMapper.selectUserList(user1); + 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