Pre Merge pull request !176 from Yifu/master

This commit is contained in:
Yifu 2020-07-13 20:43:41 +08:00 committed by Gitee
commit 3bb07519d1
5 changed files with 40 additions and 39 deletions

View File

@ -20,6 +20,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.util.ShiroUtils;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.system.domain.SysRole;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.system.service.ISysMenuService;
/**
@ -48,8 +49,8 @@ public class SysMenuController extends BaseController
@ResponseBody
public List<SysMenu> list(SysMenu menu)
{
Long userId = ShiroUtils.getUserId();
List<SysMenu> menuList = menuService.selectMenuList(menu, userId);
SysUser user = ShiroUtils.getSysUser();
List<SysMenu> menuList = menuService.selectMenuList(menu, user);
return menuList;
}
@ -167,8 +168,8 @@ public class SysMenuController extends BaseController
@ResponseBody
public List<Ztree> roleMenuTreeData(SysRole role)
{
Long userId = ShiroUtils.getUserId();
List<Ztree> ztrees = menuService.roleMenuTreeData(role, userId);
SysUser user = ShiroUtils.getSysUser();
List<Ztree> ztrees = menuService.roleMenuTreeData(role, user);
return ztrees;
}
@ -179,8 +180,8 @@ public class SysMenuController extends BaseController
@ResponseBody
public List<Ztree> menuTreeData()
{
Long userId = ShiroUtils.getUserId();
List<Ztree> ztrees = menuService.menuTreeData(userId);
SysUser user = ShiroUtils.getSysUser();
List<Ztree> ztrees = menuService.menuTreeData(user);
return ztrees;
}

View File

@ -146,8 +146,9 @@ public class SysUserController extends BaseController
public String edit(@PathVariable("userId") Long userId, ModelMap mmap)
{
List<SysRole> roles = roleService.selectRolesByUserId(userId);
mmap.put("user", userService.selectUserById(userId));
mmap.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
SysUser user = userService.selectUserById(userId);
mmap.put("user", user);
mmap.put("roles", user.isAdmin() ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
mmap.put("posts", postService.selectPostsByUserId(userId));
return prefix + "/edit";
}

View File

@ -116,15 +116,14 @@ public class SysUser extends BaseEntity
this.userId = userId;
}
public boolean isAdmin()
{
return isAdmin(this.userId);
}
public static boolean isAdmin(Long userId)
{
return userId != null && 1L == userId;
}
public boolean isAdmin() {
// 是否分配了管理员角色
List<SysRole> roles = this.getRoles();
if (roles != null && roles.stream().allMatch(r -> r.isAdmin())) {
return true;
}
return this.getUserId() != null && this.getUserId() == 1L;
}
public Long getDeptId()
{

View File

@ -27,18 +27,18 @@ public interface ISysMenuService
* 查询系统菜单列表
*
* @param menu 菜单信息
* @param userId 用户ID
* @param user 用户
* @return 菜单列表
*/
public List<SysMenu> selectMenuList(SysMenu menu, Long userId);
public List<SysMenu> selectMenuList(SysMenu menu, SysUser user);
/**
* 查询菜单集合
*
* @param userId 用户ID
* @param user 用户
* @return 所有菜单信息
*/
public List<SysMenu> selectMenuAll(Long userId);
public List<SysMenu> selectMenuAll(SysUser user);
/**
* 根据用户ID查询权限
@ -52,26 +52,26 @@ public interface ISysMenuService
* 根据角色ID查询菜单
*
* @param role 角色对象
* @param userId 用户ID
* @param user 用户
* @return 菜单列表
*/
public List<Ztree> roleMenuTreeData(SysRole role, Long userId);
public List<Ztree> roleMenuTreeData(SysRole role, SysUser user);
/**
* 查询所有菜单信息
*
* @param userId 用户ID
* @param user 用户
* @return 菜单列表
*/
public List<Ztree> menuTreeData(Long userId);
public List<Ztree> menuTreeData(SysUser user);
/**
* 查询系统所有权限
*
* @param userId 用户ID
* @param user 用户
* @return 权限列表
*/
public Map<String, String> selectPermsAll(Long userId);
public Map<String, String> selectPermsAll(SysUser user);
/**
* 删除菜单管理信息

View File

@ -65,16 +65,16 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 所有菜单信息
*/
@Override
public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
public List<SysMenu> selectMenuList(SysMenu menu, SysUser user)
{
List<SysMenu> menuList = null;
if (SysUser.isAdmin(userId))
if (user.isAdmin())
{
menuList = menuMapper.selectMenuList(menu);
}
else
{
menu.getParams().put("userId", userId);
menu.getParams().put("userId", user.getUserId());
menuList = menuMapper.selectMenuListByUserId(menu);
}
return menuList;
@ -86,16 +86,16 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 所有菜单信息
*/
@Override
public List<SysMenu> selectMenuAll(Long userId)
public List<SysMenu> selectMenuAll(SysUser user)
{
List<SysMenu> menuList = null;
if (SysUser.isAdmin(userId))
if (user.isAdmin())
{
menuList = menuMapper.selectMenuAll();
}
else
{
menuList = menuMapper.selectMenuAllByUserId(userId);
menuList = menuMapper.selectMenuAllByUserId(user.getUserId());
}
return menuList;
}
@ -128,11 +128,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public List<Ztree> roleMenuTreeData(SysRole role, Long userId)
public List<Ztree> roleMenuTreeData(SysRole role, SysUser user)
{
Long roleId = role.getRoleId();
List<Ztree> ztrees = new ArrayList<Ztree>();
List<SysMenu> menuList = selectMenuAll(userId);
List<SysMenu> menuList = selectMenuAll(user);
if (StringUtils.isNotNull(roleId))
{
List<String> roleMenuList = menuMapper.selectMenuTree(roleId);
@ -151,9 +151,9 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public List<Ztree> menuTreeData(Long userId)
public List<Ztree> menuTreeData(SysUser user)
{
List<SysMenu> menuList = selectMenuAll(userId);
List<SysMenu> menuList = selectMenuAll(user);
List<Ztree> ztrees = initZtree(menuList);
return ztrees;
}
@ -164,10 +164,10 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 权限列表
*/
@Override
public LinkedHashMap<String, String> selectPermsAll(Long userId)
public LinkedHashMap<String, String> selectPermsAll(SysUser user)
{
LinkedHashMap<String, String> section = new LinkedHashMap<>();
List<SysMenu> permissions = selectMenuAll(userId);
List<SysMenu> permissions = selectMenuAll(user);
if (StringUtils.isNotEmpty(permissions))
{
for (SysMenu menu : permissions)