修改权限查询逻辑
parent
268b4c74d3
commit
5c2e43e8ec
|
@ -60,6 +60,16 @@ public interface SysMenuMapper
|
|||
*/
|
||||
public List<String> selectMenuPermsByUserIdAndDept(@Param("userId")Long userId,@Param("deptId") Long deptId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据角色D查询权限
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param deptId 单位ID
|
||||
* @return 权限列表
|
||||
*/
|
||||
public List<String> selectMenuPermsByRoleIdAndDept(@Param("roleId")Long roleId,@Param("deptId") Long deptId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询菜单
|
||||
*
|
||||
|
|
|
@ -122,6 +122,17 @@
|
|||
and rd.dept_id = #{deptId}
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPermsByRoleIdAndDept" resultType="String">
|
||||
select distinct m.perms
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role ur on rm.role_id = ur.role_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
left join sys_role_dept rd on rd.role_id = r.role_id
|
||||
where m.status = '0' and r.status = '0' and ur.role_id = #{roleId}
|
||||
and rd.dept_id = #{deptId}
|
||||
</select>
|
||||
|
||||
<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
|
||||
select distinct m.perms
|
||||
from sys_menu m
|
||||
|
|
|
@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select uc.*, sd.dept_name com_name
|
||||
from (
|
||||
select DISTINCT com_id
|
||||
from pro_project_info) uc
|
||||
from pro_project_info where is_del < 0) uc
|
||||
left join sys_dept sd on uc.com_id=sd.dept_id
|
||||
</select>
|
||||
<update id="updateActiveTo0" parameterType="SysUserCom">
|
||||
|
|
|
@ -47,6 +47,15 @@ public interface ISysMenuService
|
|||
*/
|
||||
public Set<String> selectMenuPermsByUserIdAndDept(Long userId,Long deptId);
|
||||
|
||||
/**
|
||||
* 根据角色ID查询权限
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param deptId 单位ID
|
||||
* @return 权限列表
|
||||
*/
|
||||
public Set<String> selectMenuPermsByRoleIdAndDept(Long roleId,Long deptId);
|
||||
|
||||
/**
|
||||
* 根据角色ID查询权限
|
||||
*
|
||||
|
|
|
@ -122,6 +122,27 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|||
return permsSet;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色ID查询权限
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param deptId 单位ID
|
||||
* @return 权限列表
|
||||
*/
|
||||
@Override
|
||||
public Set<String> selectMenuPermsByRoleIdAndDept(Long roleId,Long deptId){
|
||||
List<String> perms = menuMapper.selectMenuPermsByRoleIdAndDept(roleId,deptId);
|
||||
Set<String> permsSet = new HashSet<>();
|
||||
for (String perm : perms)
|
||||
{
|
||||
if (StringUtils.isNotEmpty(perm))
|
||||
{
|
||||
permsSet.addAll(Arrays.asList(perm.trim().split(",")));
|
||||
}
|
||||
}
|
||||
return permsSet;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色ID查询权限
|
||||
*
|
||||
|
|
|
@ -88,7 +88,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService
|
|||
if(SysRole.isGsAdmin(getRoleKeys(user.getRoles()))){
|
||||
rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
|
||||
}else{
|
||||
rolePerms = menuService.selectMenuPermsByUserIdAndDept(role.getRoleId(),user.getActiveProjectId());
|
||||
rolePerms = menuService.selectMenuPermsByRoleIdAndDept(role.getRoleId(),user.getActiveProjectId());
|
||||
}
|
||||
role.setPermissions(rolePerms);
|
||||
perms.addAll(rolePerms);
|
||||
|
|
Loading…
Reference in New Issue