From 9c66102a4fae1922aac72dc153e3e76b5856bae3 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 24 一月 2024 15:07:01 +0800
Subject: [PATCH] 数据权限

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
index a3facc5..e556da6 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -89,8 +89,8 @@
      * @return  List<MgtDeptStaffListVo>
      */
     @Override
-    public List<MgtDeptStaffListVo> listMgtDeptStaff(){
-        return sysStaffMapper.listMgtDeptStaff();
+    public List<MgtDeptStaffListVo> listMgtDeptStaff(Long deptId,Long userId){
+        return sysStaffMapper.listMgtDeptStaff(deptId,userId);
     }
 
     /**
@@ -102,16 +102,31 @@
      */
     @Override
     public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){
-        SysUser sysUser = sysUserService.selectUserById(userId);
-        String dataScope = sysUser.getDataScope();
         List<MgtDeptStaffListVo> deptStaffListVoList;
-        if(dataScope!=null&&dataScope.equals("4")){
-            deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),null);
-        }else if(dataScope!=null&&dataScope.equals("5")){
-            deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),sysUser.getUserId());
-        }else{
-            deptStaffListVoList = sysStaffMapper.listMgtDeptStaff();
+        // 获取当前登陆人的可视权限
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        // 如果当前登陆人权限是查看部门数据
+        Long deptId = null;
+        // 如果当前登陆人是查看个人数据
+        Long userId1  = null;
+        if (sysUser!=null){
+            String dataScope = sysUser.getDataScope();
+            if (!sysUser.getUserName().equals("admin")){
+                if (org.springframework.util.StringUtils.hasLength(dataScope)){
+                    switch (dataScope){
+                        case "3":
+                            // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
+                            deptId = sysUser.getDeptId();
+                            break;
+                        case "5":
+                            // 仅个人数据 查询当前登陆人关联店铺下的用户
+                            userId1 = sysUser.getUserId();
+                            break;
+                    }
+                }
+            }
         }
+        deptStaffListVoList = sysStaffMapper.listMgtDeptStaff(deptId,userId1);
         return deptStaffListVoList;
     }
 

--
Gitblit v1.7.1