diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUserService.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUserService.java index 24d567e..217bf32 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUserService.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUserService.java @@ -13,6 +13,8 @@ import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.factory.RemoteUserFallbackFactory; import com.bonus.system.api.model.LoginUser; +import java.util.List; + /** * 用户服务 * @@ -160,14 +162,14 @@ public interface RemoteUserService { public AjaxResult deptTree(SysDept dept, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** - * 获取当前登录用户数据权限范围内的部门权限下的部门人员树列表 + * 查询部门人员树列表 * - * @param dept 部门信息 + * @param sysUser 部门信息 * @param source 请求来源 * @return 部门人员树列表或失败消息 */ - @GetMapping("/user/deptUserTree") - public AjaxResult deptUserTree(SysDept dept, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + @PostMapping("/user/deptUserTree") + public AjaxResult deptUserTree(SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 修改用户审批状态 diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java index dfaa8bd..4ed75a2 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java @@ -55,8 +55,6 @@ public class SysDept extends BaseEntity /** 子部门 */ private List children = new ArrayList(); - private List sysUsers; - private Integer level; public Integer getLevel() { @@ -193,14 +191,6 @@ public class SysDept extends BaseEntity this.children = children; } - public List getSysUsers() { - return sysUsers; - } - - public void setSysUsers(List sysUsers) { - this.sysUsers = sysUsers; - } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/factory/RemoteUserFallbackFactory.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/factory/RemoteUserFallbackFactory.java index a84c63c..7978918 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/factory/RemoteUserFallbackFactory.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/factory/RemoteUserFallbackFactory.java @@ -125,8 +125,8 @@ public class RemoteUserFallbackFactory implements FallbackFactory sysUsers; - /** * 子节点 @@ -52,7 +50,6 @@ public class TreeSelect implements Serializable { this.parentId = dept.getParentId(); this.status = dept.getStatus(); this.label = dept.getDeptName(); - this.sysUsers = dept.getSysUsers(); this.level = dept.getLevel(); this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); } @@ -111,12 +108,4 @@ public class TreeSelect implements Serializable { public void setStatus(String status) { this.status = status; } - - public List getSysUsers() { - return sysUsers; - } - - public void setSysUsers(List sysUsers) { - this.sysUsers = sysUsers; - } } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java index 19b98e3..3241a5e 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysDeptMapper.java @@ -19,6 +19,17 @@ public interface SysDeptMapper */ public List selectDeptList(SysDept dept); + /** + * 根据角色列表查询部门人员树结构信息 + * + * @param dept 部门信息 + * @param roleIds 角色列表 + * @return 部门树信息集合 + */ + public List selectDeptUserList(SysDept dept, @Param("roleIds") List roleIds); + + public List selectDeptUserList(@Param("roleIds") Long[] roleIds); + /** * 根据角色ID查询部门树信息 * diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java index e5ff6fc..ce6fc0c 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java @@ -157,11 +157,4 @@ public interface SysUserMapper { Integer approvalStatus(Long userId); - /** - * 组织人员树 - * @param dept - * @return - */ - List getTree(SysDept dept); - } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysDeptService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysDeptService.java index 0f73492..cc225d2 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysDeptService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysDeptService.java @@ -2,6 +2,7 @@ package com.bonus.system.service; import java.util.List; import com.bonus.system.api.domain.SysDept; +import com.bonus.system.api.domain.SysUser; import com.bonus.system.domain.vo.TreeSelect; /** @@ -28,12 +29,12 @@ public interface ISysDeptService public List selectDeptTreeList(SysDept dept); /** - * 查询部门人员树结构信息 + * 查询部门人员树列表 * - * @param dept 部门信息 + * @param sysUser 用户对象 * @return 部门树信息集合 */ - public List selectDeptUserTreeList(SysDept dept); + public List selectDeptUserTree(SysUser sysUser); /** * 构建前端所需要树结构 diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 6259463..4b17086 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -76,34 +76,16 @@ public class SysDeptServiceImpl implements ISysDeptService } /** - * 查询部门人员树结构信息 + * 查询部门人员树列表 * - * @param dept 部门信息 + * @param sysUser 用户对象 * @return 部门树信息集合 */ @Override - public List selectDeptUserTreeList(SysDept dept) + @DataScope(deptAlias = "d") + public List selectDeptUserTree(SysUser sysUser) { - if (dept != null && dept.getDeptId() != null && dept.getDeptId() == 0L) { - List userList = userMapper.getTree(dept); - return buildDeptTreeSelect(userList); - } - List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); - for (SysDept sysDept : depts) { - SysUser paramUser = new SysUser(); - paramUser.setDeptId(sysDept.getDeptId()); - List users = userMapper.selectUserList(paramUser); - - List sysUsers = new ArrayList<>(); - for (SysUser user : users) { - SysUser userResult = userMapper.selectUserById(user.getUserId()); - user.setRoles(userResult.getRoles()); - if (user.getDeptId().equals(sysDept.getDeptId())) { - sysUsers.add(user); - } - } - sysDept.setSysUsers(sysUsers); - } + List depts = deptMapper.selectDeptUserList(sysUser.getRoleIds()); return buildDeptTreeSelect(depts); } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml index f5baac4..4c43786 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -47,6 +47,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by d.parent_id, d.order_num + + - - - - insert into sys_user( user_id,