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