修改权限查询逻辑
parent
268b4c74d3
commit
5c2e43e8ec
|
@ -60,6 +60,16 @@ public interface SysMenuMapper
|
||||||
*/
|
*/
|
||||||
public List<String> selectMenuPermsByUserIdAndDept(@Param("userId")Long userId,@Param("deptId") Long deptId);
|
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查询菜单
|
* 根据用户ID查询菜单
|
||||||
*
|
*
|
||||||
|
|
|
@ -122,6 +122,17 @@
|
||||||
and rd.dept_id = #{deptId}
|
and rd.dept_id = #{deptId}
|
||||||
</select>
|
</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 id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
|
||||||
select distinct m.perms
|
select distinct m.perms
|
||||||
from sys_menu m
|
from sys_menu m
|
||||||
|
|
|
@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select uc.*, sd.dept_name com_name
|
select uc.*, sd.dept_name com_name
|
||||||
from (
|
from (
|
||||||
select DISTINCT com_id
|
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
|
left join sys_dept sd on uc.com_id=sd.dept_id
|
||||||
</select>
|
</select>
|
||||||
<update id="updateActiveTo0" parameterType="SysUserCom">
|
<update id="updateActiveTo0" parameterType="SysUserCom">
|
||||||
|
|
|
@ -47,6 +47,15 @@ public interface ISysMenuService
|
||||||
*/
|
*/
|
||||||
public Set<String> selectMenuPermsByUserIdAndDept(Long userId,Long deptId);
|
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查询权限
|
* 根据角色ID查询权限
|
||||||
*
|
*
|
||||||
|
|
|
@ -122,6 +122,27 @@ public class SysMenuServiceImpl implements ISysMenuService
|
||||||
return permsSet;
|
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查询权限
|
* 根据角色ID查询权限
|
||||||
*
|
*
|
||||||
|
|
|
@ -88,7 +88,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService
|
||||||
if(SysRole.isGsAdmin(getRoleKeys(user.getRoles()))){
|
if(SysRole.isGsAdmin(getRoleKeys(user.getRoles()))){
|
||||||
rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
|
rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
|
||||||
}else{
|
}else{
|
||||||
rolePerms = menuService.selectMenuPermsByUserIdAndDept(role.getRoleId(),user.getActiveProjectId());
|
rolePerms = menuService.selectMenuPermsByRoleIdAndDept(role.getRoleId(),user.getActiveProjectId());
|
||||||
}
|
}
|
||||||
role.setPermissions(rolePerms);
|
role.setPermissions(rolePerms);
|
||||||
perms.addAll(rolePerms);
|
perms.addAll(rolePerms);
|
||||||
|
|
Loading…
Reference in New Issue