菜单管理树构建改用后端构建
This commit is contained in:
@@ -8,34 +8,34 @@ namespace ZR.Service.System.IService
|
||||
{
|
||||
public interface ISysMenuService
|
||||
{
|
||||
public List<SysMenu> SelectMenuList(long userId);
|
||||
//List<SysMenu> SelectMenuList(long userId);
|
||||
|
||||
public List<SysMenu> SelectMenuList(SysMenu menu, long userId);
|
||||
List<SysMenu> SelectMenuList(SysMenu menu, long userId);
|
||||
List<SysMenu> SelectTreeMenuList(SysMenu menu, long userId);
|
||||
|
||||
public SysMenu GetMenuByMenuId(int menuId);
|
||||
SysMenu GetMenuByMenuId(int menuId);
|
||||
int AddMenu(SysMenu menu);
|
||||
|
||||
public int AddMenu(SysMenu menu);
|
||||
int EditMenu(SysMenu menu);
|
||||
|
||||
public int EditMenu(SysMenu menu);
|
||||
int DeleteMenuById(int menuId);
|
||||
|
||||
public int DeleteMenuById(int menuId);
|
||||
string CheckMenuNameUnique(SysMenu menu);
|
||||
|
||||
public string CheckMenuNameUnique(SysMenu menu);
|
||||
int ChangeSortMenu(MenuDto menuDto);
|
||||
|
||||
public int ChangeSortMenu(MenuDto menuDto);
|
||||
bool HasChildByMenuId(long menuId);
|
||||
|
||||
public bool HasChildByMenuId(long menuId);
|
||||
List<SysMenu> SelectMenuTreeByUserId(long userId);
|
||||
|
||||
public List<SysMenu> SelectMenuTreeByUserId(long userId);
|
||||
List<SysMenu> SelectMenuPermsListByUserId(long userId);
|
||||
|
||||
public List<SysMenu> SelectMenuPermsListByUserId(long userId);
|
||||
List<string> SelectMenuPermsByUserId(long userId);
|
||||
|
||||
public List<string> SelectMenuPermsByUserId(long userId);
|
||||
bool CheckMenuExistRole(long menuId);
|
||||
|
||||
public bool CheckMenuExistRole(long menuId);
|
||||
List<RouterVo> BuildMenus(List<SysMenu> menus);
|
||||
|
||||
public List<RouterVo> BuildMenus(List<SysMenu> menus);
|
||||
|
||||
public List<TreeSelectVo> BuildMenuTreeSelect(List<SysMenu> menus);
|
||||
List<TreeSelectVo> BuildMenuTreeSelect(List<SysMenu> menus);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace ZR.Service.System.IService
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public List<long> SelectUserRoleMenus(long roleId);
|
||||
|
||||
List<long> SelectRoleMenuByRoleIds(long[] roleIds);
|
||||
/// <summary>
|
||||
/// 获取用户角色列表
|
||||
/// </summary>
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Linq;
|
||||
using ZR.Model.System.Dto;
|
||||
using ZR.Model.System;
|
||||
using ZR.Model.System.Vo;
|
||||
using ZR.Model.Vo;
|
||||
using ZR.Model.Vo.System;
|
||||
using ZR.Repository.System;
|
||||
using ZR.Service.System.IService;
|
||||
@@ -30,31 +29,39 @@ namespace ZR.Service
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据用户查询系统菜单列表
|
||||
/// 获取所有菜单数(菜单管理)
|
||||
/// </summary>
|
||||
/// <param name="menu"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public List<SysMenu> SelectMenuList(long userId)
|
||||
public List<SysMenu> SelectTreeMenuList(SysMenu menu, long userId)
|
||||
{
|
||||
return SelectMenuList(new SysMenu(), userId);
|
||||
List<SysMenu> menuList;
|
||||
if (SysRoleService.IsAdmin(userId))
|
||||
{
|
||||
menuList = MenuRepository.SelectTreeMenuList(menu);
|
||||
}
|
||||
else
|
||||
{
|
||||
var userRoles = SysRoleService.SelectUserRoles(userId);
|
||||
menuList = MenuRepository.SelectTreeMenuListByUserId(menu, userRoles);
|
||||
}
|
||||
return menuList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有菜单(菜单管理)
|
||||
/// 获取所有菜单列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<SysMenu> SelectMenuList(SysMenu menu, long userId)
|
||||
{
|
||||
List<SysMenu> menuList;
|
||||
//if (SysUser.IsAdmin(userId))
|
||||
if (SysRoleService.IsAdmin(userId))
|
||||
{
|
||||
menuList = MenuRepository.SelectMenuList(menu);
|
||||
}
|
||||
else
|
||||
{
|
||||
menuList = MenuRepository.SelectMenuListByUserId(menu, userId);
|
||||
var userRoles = SysRoleService.SelectUserRoles(userId);
|
||||
menuList = MenuRepository.SelectMenuListByRoles(menu, userRoles);
|
||||
}
|
||||
return menuList;
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ namespace ZR.Service
|
||||
/// <summary>
|
||||
/// 判断是否是管理员
|
||||
/// </summary>
|
||||
/// <param name="userid"></param>
|
||||
/// <param name="roleid"></param>
|
||||
/// <returns></returns>
|
||||
public bool IsRoleAdmin(long roleid)
|
||||
{
|
||||
@@ -228,13 +228,25 @@ namespace ZR.Service
|
||||
/// <summary>
|
||||
/// 获取角色菜单id集合
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
public List<long> SelectUserRoleMenus(long roleId)
|
||||
{
|
||||
var list = SysRoleRepository.SelectRoleMenuByRoleId(roleId);
|
||||
|
||||
return list.Select(x => x.Menu_id).ToList();
|
||||
return list.Select(x => x.Menu_id).Distinct().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据用户所有角色获取菜单
|
||||
/// </summary>
|
||||
/// <param name="roleIds"></param>
|
||||
/// <returns></returns>
|
||||
public List<long> SelectRoleMenuByRoleIds(long[] roleIds)
|
||||
{
|
||||
return SysRoleRepository.SelectRoleMenuByRoleIds(roleIds)
|
||||
.Select(x => x.Menu_id)
|
||||
.Distinct().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -270,6 +282,11 @@ namespace ZR.Service
|
||||
return list.Select(x => x.RoleKey).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户所有角色名
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public List<string> SelectUserRoleNames(long userId)
|
||||
{
|
||||
var list = SelectUserRoleListByUserId(userId);
|
||||
|
||||
Reference in New Issue
Block a user