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 |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 63 insertions(+), 4 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 5a2ed40..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;
@@ -11,6 +12,7 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
+import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto;
 import com.ruoyi.system.api.domain.dto.MgtUserIdByDept;
 import com.ruoyi.system.api.domain.poji.sys.SysRole;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
@@ -68,6 +70,8 @@
 
     @Resource
     protected SysUserMenuMapper userMenuMapper;
+
+
 
     /**
      * 根据条件分页查询用户列表
@@ -605,10 +609,6 @@
         String editValue = appEditUserDto.getEditValue();
         switch (editType){
             case 1:
-                sysUser.setNickName(editValue);
-                sysUser.setUpdateTime(DateUtils.getNowDate());
-                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
-                userMapper.updateUser(sysUser);
                 break;
             case 2:
                 sysUser.setAvatar(editValue);
@@ -623,6 +623,12 @@
                 userMapper.updateUser(sysUser);
                 break;
             case 4:
+                break;
+            case 5:
+                sysUser.setNickName(editValue);
+                sysUser.setUpdateTime(DateUtils.getNowDate());
+                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
+                userMapper.updateUser(sysUser);
                 break;
             default:
                 break;
@@ -668,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;
@@ -705,4 +712,56 @@
     public void updateOnlyUser(SysUser sysUser){
         userMapper.updateUser(sysUser);
     }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/5 21:24
+     * @param mgtFrozenMemberDto
+     * @return  void
+     */
+    @Override
+    public void frozenUser(MgtFrozenMemberDto mgtFrozenMemberDto){
+        Long userId = mgtFrozenMemberDto.getId();
+        SysUser sysUser = this.selectUserById(userId);
+        if(mgtFrozenMemberDto.getFrozenFlag()==1){
+            sysUser.setStatus("1");
+        }else{
+            sysUser.setStatus("0");
+        }
+        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