Commit dd2fe721 authored by 盖献康's avatar 盖献康

bug - 71010

parent 6dd5e021
...@@ -90,7 +90,7 @@ public class SysUserController extends BaseController ...@@ -90,7 +90,7 @@ public class SysUserController extends BaseController
role.setRoleName(request.getRoleName()); role.setRoleName(request.getRoleName());
List<SysRole> roleList = roleService.selectRoleList(role); List<SysRole> roleList = roleService.selectRoleList(role);
if (CollUtil.isNotEmpty(roleList)) { if (CollUtil.isNotEmpty(roleList)) {
List<SysUser> list = userService.selectUserListByRoleId(roleList.get(0).getRoleId()); List<SysUser> list = userService.selectUserByRoleInDept(roleList.get(0).getRoleId());
return R.ok(list); return R.ok(list);
} else { } else {
return R.fail("角色不存在"); return R.fail("角色不存在");
......
...@@ -219,4 +219,10 @@ public interface ISysUserService ...@@ -219,4 +219,10 @@ public interface ISysUserService
*/ */
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
/**
* 通过角色ID查询在同部门下的所有用户
* @param roleId
* @return
*/
List<SysUser> selectUserByRoleInDept(Long roleId);
} }
...@@ -4,6 +4,9 @@ import java.util.ArrayList; ...@@ -4,6 +4,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.validation.Validator; import javax.validation.Validator;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.mapper.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -22,17 +25,12 @@ import com.ruoyi.common.utils.spring.SpringUtils; ...@@ -22,17 +25,12 @@ import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.SysPostMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.SysUserPostMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
/** /**
* 用户 业务层处理 * 用户 业务层处理
* *
* @author ruoyi * @author ruoyi
*/ */
@Service @Service
...@@ -61,6 +59,9 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -61,6 +59,9 @@ public class SysUserServiceImpl implements ISysUserService
@Autowired @Autowired
protected Validator validator; protected Validator validator;
@Autowired
private SysDeptMapper sysDeptMapper;
@Override @Override
public List<SysUser> selectUserListByRoleId(Long roleId) { public List<SysUser> selectUserListByRoleId(Long roleId) {
return userMapper.selectUserListByRoleId(roleId); return userMapper.selectUserListByRoleId(roleId);
...@@ -68,7 +69,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -68,7 +69,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 根据条件分页查询用户列表 * 根据条件分页查询用户列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -81,7 +82,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -81,7 +82,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 根据条件分页查询已分配用户角色列表 * 根据条件分页查询已分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -100,7 +101,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -100,7 +101,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 根据条件分页查询未分配用户角色列表 * 根据条件分页查询未分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -113,7 +114,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -113,7 +114,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
* @param userName 用户名 * @param userName 用户名
* @return 用户对象信息 * @return 用户对象信息
*/ */
...@@ -125,7 +126,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -125,7 +126,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 用户对象信息 * @return 用户对象信息
*/ */
...@@ -137,7 +138,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -137,7 +138,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 查询用户所属角色组 * 查询用户所属角色组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
...@@ -154,7 +155,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -154,7 +155,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 查询用户所属岗位组 * 查询用户所属岗位组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
...@@ -171,7 +172,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -171,7 +172,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 校验用户名称是否唯一 * 校验用户名称是否唯一
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -225,7 +226,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -225,7 +226,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 校验用户是否允许操作 * 校验用户是否允许操作
* *
* @param user 用户信息 * @param user 用户信息
*/ */
@Override @Override
...@@ -239,7 +240,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -239,7 +240,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 校验用户是否有数据权限 * 校验用户是否有数据权限
* *
* @param userId 用户id * @param userId 用户id
*/ */
@Override @Override
...@@ -259,7 +260,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -259,7 +260,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 新增保存用户信息 * 新增保存用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -278,7 +279,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -278,7 +279,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 注册用户信息 * 注册用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -290,7 +291,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -290,7 +291,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改保存用户信息 * 修改保存用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -312,7 +313,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -312,7 +313,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 用户授权角色 * 用户授权角色
* *
* @param userId 用户ID * @param userId 用户ID
* @param roleIds 角色组 * @param roleIds 角色组
*/ */
...@@ -326,7 +327,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -326,7 +327,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改用户状态 * 修改用户状态
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -338,7 +339,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -338,7 +339,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改用户基本信息 * 修改用户基本信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -350,7 +351,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -350,7 +351,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改用户头像 * 修改用户头像
* *
* @param userName 用户名 * @param userName 用户名
* @param avatar 头像地址 * @param avatar 头像地址
* @return 结果 * @return 结果
...@@ -363,7 +364,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -363,7 +364,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -375,7 +376,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -375,7 +376,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param userName 用户名 * @param userName 用户名
* @param password 密码 * @param password 密码
* @return 结果 * @return 结果
...@@ -388,7 +389,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -388,7 +389,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 新增用户角色信息 * 新增用户角色信息
* *
* @param user 用户对象 * @param user 用户对象
*/ */
public void insertUserRole(SysUser user) public void insertUserRole(SysUser user)
...@@ -398,7 +399,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -398,7 +399,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 新增用户岗位信息 * 新增用户岗位信息
* *
* @param user 用户对象 * @param user 用户对象
*/ */
public void insertUserPost(SysUser user) public void insertUserPost(SysUser user)
...@@ -421,7 +422,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -421,7 +422,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 新增用户角色信息 * 新增用户角色信息
* *
* @param userId 用户ID * @param userId 用户ID
* @param roleIds 角色组 * @param roleIds 角色组
*/ */
...@@ -444,7 +445,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -444,7 +445,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 通过用户ID删除用户 * 通过用户ID删除用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 结果 * @return 结果
*/ */
...@@ -461,7 +462,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -461,7 +462,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 批量删除用户信息 * 批量删除用户信息
* *
* @param userIds 需要删除的用户ID * @param userIds 需要删除的用户ID
* @return 结果 * @return 结果
*/ */
...@@ -483,7 +484,7 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -483,7 +484,7 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 导入用户数据 * 导入用户数据
* *
* @param userList 用户数据列表 * @param userList 用户数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param operName 操作用户 * @param operName 操作用户
...@@ -552,4 +553,46 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -552,4 +553,46 @@ public class SysUserServiceImpl implements ISysUserService
} }
return successMsg.toString(); return successMsg.toString();
} }
/**
* 通过角色ID查询在同部门下的所有用户
* @param roleId
* @return
*/
@Override
public List<SysUser> selectUserByRoleInDept(Long roleId) {
List<SysUser> list = new ArrayList<>();
// 获取当前登陆用户的部门
Long deptId = SecurityUtils.getDeptId();
// 获取当前角色下的所有用户
List<SysUser> userList = selectUserListByRoleId(roleId);
// 查询出当前用户所在部门以及所有子部门
List<SysDept> deptList = sysDeptMapper.selectDeptList(new SysDept());
List<Long> userListInDept = new ArrayList<>();
userListInDept.add(deptId);
getAllDeptId(deptList, deptId, userListInDept);
for (SysUser user : userList) {
if (userListInDept.contains(user.getDeptId())) {
list.add(user);
}
}
return list;
}
/**
* 递归
* 查询出当前用户所在部门以及所有子部门
* @param deptList 传入的部门集合
* @param deptId 查询需要的部门ID
* @param userListInDept 存入的指定部门集合
*/
private void getAllDeptId(List<SysDept> deptList, Long deptId, List<Long> userListInDept) {
deptList.stream()
.filter(dept -> dept.getParentId().equals(deptId))
.forEach(dept -> {
userListInDept.add(dept.getDeptId());
getAllDeptId(deptList, dept.getDeptId(), userListInDept);
});
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment