菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)
This commit is contained in:
		| @@ -23,9 +23,10 @@ public interface SysDeptMapper | ||||
|      * 根据角色ID查询部门树信息 | ||||
|      *  | ||||
|      * @param roleId 角色ID | ||||
|      * @param deptCheckStrictly 部门树选择项是否关联显示 | ||||
|      * @return 选中部门列表 | ||||
|      */ | ||||
|     public List<Integer> selectDeptListByRoleId(Long roleId); | ||||
|     public List<Integer> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly); | ||||
|  | ||||
|     /** | ||||
|      * 根据部门ID查询信息 | ||||
|   | ||||
| @@ -59,11 +59,12 @@ public interface SysMenuMapper | ||||
|  | ||||
|     /** | ||||
|      * 根据角色ID查询菜单树信息 | ||||
|      * | ||||
|      *  | ||||
|      * @param roleId 角色ID | ||||
|      * @param menuCheckStrictly 菜单树选择项是否关联显示 | ||||
|      * @return 选中菜单列表 | ||||
|      */ | ||||
|     public List<Integer> selectMenuListByRoleId(Long roleId); | ||||
|     public List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly); | ||||
|  | ||||
|     /** | ||||
|      * 根据菜单ID查询信息 | ||||
|   | ||||
| @@ -10,9 +10,11 @@ import com.ruoyi.common.annotation.DataScope; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.TreeSelect; | ||||
| import com.ruoyi.common.core.domain.entity.SysDept; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.mapper.SysDeptMapper; | ||||
| import com.ruoyi.system.mapper.SysRoleMapper; | ||||
| import com.ruoyi.system.service.ISysDeptService; | ||||
|  | ||||
| /** | ||||
| @@ -26,6 +28,9 @@ public class SysDeptServiceImpl implements ISysDeptService | ||||
|     @Autowired | ||||
|     private SysDeptMapper deptMapper; | ||||
|  | ||||
|     @Autowired | ||||
|     private SysRoleMapper roleMapper; | ||||
|  | ||||
|     /** | ||||
|      * 查询部门管理数据 | ||||
|      *  | ||||
| @@ -93,7 +98,8 @@ public class SysDeptServiceImpl implements ISysDeptService | ||||
|     @Override | ||||
|     public List<Integer> selectDeptListByRoleId(Long roleId) | ||||
|     { | ||||
|         return deptMapper.selectDeptListByRoleId(roleId); | ||||
|         SysRole role = roleMapper.selectRoleById(roleId); | ||||
|         return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -13,12 +13,14 @@ import org.springframework.stereotype.Service; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.TreeSelect; | ||||
| import com.ruoyi.common.core.domain.entity.SysMenu; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.domain.vo.MetaVo; | ||||
| import com.ruoyi.system.domain.vo.RouterVo; | ||||
| import com.ruoyi.system.mapper.SysMenuMapper; | ||||
| import com.ruoyi.system.mapper.SysRoleMapper; | ||||
| import com.ruoyi.system.mapper.SysRoleMenuMapper; | ||||
| import com.ruoyi.system.service.ISysMenuService; | ||||
|  | ||||
| @@ -35,6 +37,9 @@ public class SysMenuServiceImpl implements ISysMenuService | ||||
|     @Autowired | ||||
|     private SysMenuMapper menuMapper; | ||||
|  | ||||
|     @Autowired | ||||
|     private SysRoleMapper roleMapper; | ||||
|  | ||||
|     @Autowired | ||||
|     private SysRoleMenuMapper roleMenuMapper; | ||||
|  | ||||
| @@ -124,7 +129,8 @@ public class SysMenuServiceImpl implements ISysMenuService | ||||
|     @Override | ||||
|     public List<Integer> selectMenuListByRoleId(Long roleId) | ||||
|     { | ||||
|         return menuMapper.selectMenuListByRoleId(roleId); | ||||
|         SysRole role = roleMapper.selectRoleById(roleId); | ||||
|         return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -44,12 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| 		order by d.parent_id, d.order_num | ||||
|     </select> | ||||
|      | ||||
|     <select id="selectDeptListByRoleId" parameterType="Long" resultType="Integer"> | ||||
| 		select d.dept_id, d.parent_id | ||||
|     <select id="selectDeptListByRoleId" resultType="Integer"> | ||||
| 		select d.dept_id | ||||
| 		from sys_dept d | ||||
|             left join sys_role_dept rd on d.dept_id = rd.dept_id | ||||
|         where rd.role_id = #{roleId} | ||||
|         	and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) | ||||
|             <if test="deptCheckStrictly"> | ||||
|               and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) | ||||
|             </if> | ||||
| 		order by d.parent_id, d.order_num | ||||
| 	</select> | ||||
|      | ||||
|   | ||||
| @@ -82,12 +82,14 @@ | ||||
| 		order by m.parent_id, m.order_num | ||||
| 	</select> | ||||
| 	 | ||||
| 	<select id="selectMenuListByRoleId" parameterType="Long" resultType="Integer"> | ||||
| 		select m.menu_id, m.parent_id | ||||
| 	<select id="selectMenuListByRoleId" resultType="Integer"> | ||||
| 		select m.menu_id | ||||
| 		from sys_menu m | ||||
|             left join sys_role_menu rm on m.menu_id = rm.menu_id | ||||
|         where rm.role_id = #{roleId} | ||||
|         	and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId}) | ||||
|             <if test="menuCheckStrictly"> | ||||
|               and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId}) | ||||
|             </if> | ||||
| 		order by m.parent_id, m.order_num | ||||
| 	</select> | ||||
| 	 | ||||
|   | ||||
| @@ -5,22 +5,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
| <mapper namespace="com.ruoyi.system.mapper.SysRoleMapper"> | ||||
|  | ||||
| 	<resultMap type="SysRole" id="SysRoleResult"> | ||||
| 		<id     property="roleId"       column="role_id"        /> | ||||
| 		<result property="roleName"     column="role_name"      /> | ||||
| 		<result property="roleKey"      column="role_key"       /> | ||||
| 		<result property="roleSort"     column="role_sort"      /> | ||||
| 		<result property="dataScope"    column="data_scope"     /> | ||||
| 		<result property="status"       column="status"         /> | ||||
| 		<result property="delFlag"      column="del_flag"       /> | ||||
| 		<result property="createBy"     column="create_by"      /> | ||||
| 		<result property="createTime"   column="create_time"    /> | ||||
| 		<result property="updateBy"     column="update_by"      /> | ||||
| 		<result property="updateTime"   column="update_time"    /> | ||||
| 		<result property="remark"       column="remark"         /> | ||||
| 		<id     property="roleId"             column="role_id"               /> | ||||
| 		<result property="roleName"           column="role_name"             /> | ||||
| 		<result property="roleKey"            column="role_key"              /> | ||||
| 		<result property="roleSort"           column="role_sort"             /> | ||||
| 		<result property="dataScope"          column="data_scope"            /> | ||||
| 		<result property="menuCheckStrictly"  column="menu_check_strictly"   /> | ||||
| 		<result property="deptCheckStrictly"  column="dept_check_strictly"   /> | ||||
| 		<result property="status"             column="status"                /> | ||||
| 		<result property="delFlag"            column="del_flag"              /> | ||||
| 		<result property="createBy"           column="create_by"             /> | ||||
| 		<result property="createTime"         column="create_time"           /> | ||||
| 		<result property="updateBy"           column="update_by"             /> | ||||
| 		<result property="updateTime"         column="update_time"           /> | ||||
| 		<result property="remark"             column="remark"                /> | ||||
| 	</resultMap> | ||||
| 	 | ||||
| 	<sql id="selectRoleVo"> | ||||
| 	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, | ||||
| 	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, | ||||
|             r.status, r.del_flag, r.create_time, r.remark  | ||||
|         from sys_role r | ||||
| 	        left join sys_user_role ur on ur.role_id = r.role_id | ||||
| @@ -95,6 +97,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|  			<if test="roleKey != null and roleKey != ''">role_key,</if> | ||||
|  			<if test="roleSort != null and roleSort != ''">role_sort,</if> | ||||
|  			<if test="dataScope != null and dataScope != ''">data_scope,</if> | ||||
|  			<if test="menuCheckStrictly != null and menuCheckStrictly != ''">menu_check_strictly,</if> | ||||
|  			<if test="deptCheckStrictly != null and deptCheckStrictly != ''">dept_check_strictly,</if> | ||||
|  			<if test="status != null and status != ''">status,</if> | ||||
|  			<if test="remark != null and remark != ''">remark,</if> | ||||
|  			<if test="createBy != null and createBy != ''">create_by,</if> | ||||
| @@ -105,6 +109,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|  			<if test="roleKey != null and roleKey != ''">#{roleKey},</if> | ||||
|  			<if test="roleSort != null and roleSort != ''">#{roleSort},</if> | ||||
|  			<if test="dataScope != null and dataScope != ''">#{dataScope},</if> | ||||
|  			<if test="menuCheckStrictly != null">#{menu_check_strictly},</if> | ||||
|  			<if test="deptCheckStrictly != null">#{dept_check_strictly},</if> | ||||
|  			<if test="status != null and status != ''">#{status},</if> | ||||
|  			<if test="remark != null and remark != ''">#{remark},</if> | ||||
|  			<if test="createBy != null and createBy != ''">#{createBy},</if> | ||||
| @@ -119,6 +125,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||||
|  			<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if> | ||||
|  			<if test="roleSort != null and roleSort != ''">role_sort = #{roleSort},</if> | ||||
|  			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> | ||||
|  			<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if> | ||||
|  			<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if> | ||||
|  			<if test="status != null and status != ''">status = #{status},</if> | ||||
|  			<if test="remark != null">remark = #{remark},</if> | ||||
|  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user