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