diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java index bc58460..a945bd4 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java @@ -467,10 +467,10 @@ public class SysUserController extends BaseController { * 根据角色列表获取部门人员树列表 */ @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list")) - @GetMapping("/deptUserTree/roleIds/{roleIds}") - public AjaxResult deptUserTreeInRoleIds(@PathVariable("roleIds") Long[] roleIds) { + @PostMapping("/deptUserTreeInRoleIds") + public AjaxResult deptUserTreeInRoleIds(@RequestBody SysUser sysUser) { try { - return success(deptService.selectDeptUserTree(roleIds)); + return success(deptService.selectDeptUserTree(sysUser.getRoleIds())); } catch (Exception e) { logger.error(e.toString(), e); } 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 4efdf40..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 @@ -51,27 +51,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT d.dept_id AS deptId, d.parent_id AS parentId, - d.dept_name AS deptName - FROM sys_dept d - WHERE d.del_flag = '0' - AND d.STATUS = '0' + d.dept_name AS deptName, + LENGTH( d.ancestors ) - LENGTH( + REPLACE ( d.ancestors, ',', '' )) AS LEVEL + FROM + sys_dept d + WHERE + d.del_flag = '0' + AND d.STATUS = '0' UNION SELECT su.user_id AS deptId, - su.dept_id AS parentId, - su.nick_name AS deptName - FROM sys_user su - LEFT JOIN sys_user_role sr ON su.user_id = sr.user_id - LEFT JOIN sys_dept sd ON su.dept_id = sd.dept_id - WHERE su.del_flag = '0' - - and sr.role_id in - - #{item} - - + sd.dept_id AS parentId, + su.nick_name AS deptName, + 99 AS LEVEL + FROM + sys_user su + LEFT JOIN sys_user_role sr ON su.user_id = sr.user_id + LEFT JOIN sys_dept sd ON su.dept_id = sd.dept_id + AND sd.del_flag = '0' + AND sd.STATUS = '0' + WHERE + su.del_flag = '0' + + and sr.role_id in + + #{item} + +