优化菜单管理查询
This commit is contained in:
parent
b9b919bac7
commit
1eecea001b
@ -32,16 +32,17 @@ namespace ZR.Service
|
|||||||
public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu, long userId)
|
public List<SysMenu> SelectTreeMenuList(MenuQueryDto menu, long userId)
|
||||||
{
|
{
|
||||||
List<SysMenu> menuList;
|
List<SysMenu> menuList;
|
||||||
if (SysRoleService.IsAdmin(userId))
|
//if (SysRoleService.IsAdmin(userId))
|
||||||
{
|
//{
|
||||||
menuList = SelectTreeMenuList(menu);
|
// menuList = SelectTreeMenuList(menu);
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
var userRoles = SysRoleService.SelectUserRoles(userId);
|
// var userRoles = SysRoleService.SelectUserRoles(userId);
|
||||||
menuList = SelectTreeMenuListByRoles(menu, userRoles);
|
// menuList = SelectTreeMenuListByRoles(menu, userRoles);
|
||||||
}
|
//}
|
||||||
return menuList ?? new List<SysMenu>();
|
menuList = BuildMenuTree(SelectMenuList(menu, userId));
|
||||||
|
return menuList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -53,7 +54,7 @@ namespace ZR.Service
|
|||||||
List<SysMenu> menuList;
|
List<SysMenu> menuList;
|
||||||
if (SysRoleService.IsAdmin(userId))
|
if (SysRoleService.IsAdmin(userId))
|
||||||
{
|
{
|
||||||
menuList = SelectAllMenuList(menu);
|
menuList = SelectMenuList(menu);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -238,12 +239,13 @@ namespace ZR.Service
|
|||||||
/// 获取所有菜单
|
/// 获取所有菜单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private List<SysMenu> SelectAllMenuList(MenuQueryDto menu)
|
private List<SysMenu> SelectMenuList(MenuQueryDto menu)
|
||||||
{
|
{
|
||||||
return Queryable()
|
return Queryable()
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.Visible), it => it.Visible == menu.Visible)
|
.WhereIF(!string.IsNullOrEmpty(menu.Visible), it => it.Visible == menu.Visible)
|
||||||
.WhereIF(!string.IsNullOrEmpty(menu.Status), it => it.Status == menu.Status)
|
.WhereIF(!string.IsNullOrEmpty(menu.Status), it => it.Status == menu.Status)
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(menu.MenuTypeIds), it => menu.MenuTypeIdArr.Contains(it.MenuType))
|
||||||
.WhereIF(menu.ParentId != null, it => it.ParentId == menu.ParentId)
|
.WhereIF(menu.ParentId != null, it => it.ParentId == menu.ParentId)
|
||||||
.OrderBy(it => new { it.ParentId, it.OrderNum })
|
.OrderBy(it => new { it.ParentId, it.OrderNum })
|
||||||
.ToList();
|
.ToList();
|
||||||
@ -411,7 +413,7 @@ namespace ZR.Service
|
|||||||
/// <returns>下拉树结构列表</returns>
|
/// <returns>下拉树结构列表</returns>
|
||||||
public List<SysMenu> BuildMenuTree(List<SysMenu> menus)
|
public List<SysMenu> BuildMenuTree(List<SysMenu> menus)
|
||||||
{
|
{
|
||||||
List<SysMenu> returnList = new List<SysMenu>();
|
List<SysMenu> returnList = new();
|
||||||
List<long> tempList = menus.Select(f => f.MenuId).ToList();
|
List<long> tempList = menus.Select(f => f.MenuId).ToList();
|
||||||
|
|
||||||
foreach (var menu in menus)
|
foreach (var menu in menus)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user