fix 用户多角色查询重复菜单bug
This commit is contained in:
parent
1de9db2b77
commit
58a4a54ed0
@ -107,12 +107,13 @@ namespace ZR.Repository.System
|
|||||||
public List<SysMenu> SelectMenuTreeByRoleIds(List<long> roleIds)
|
public List<SysMenu> SelectMenuTreeByRoleIds(List<long> roleIds)
|
||||||
{
|
{
|
||||||
var menuTypes = new string[] { "M", "C" };
|
var menuTypes = new string[] { "M", "C" };
|
||||||
return Context.Queryable<SysMenu, SysRoleMenu>((menu, roleMenu) => new JoinQueryInfos(
|
return Context.Queryable<SysMenu>()
|
||||||
JoinType.Left, menu.menuId == roleMenu.Menu_id
|
.Where((menu) =>
|
||||||
))
|
menuTypes.Contains(menu.menuType)
|
||||||
.Where((menu, roleMenu) => roleIds.Contains(roleMenu.Role_id) && menuTypes.Contains(menu.menuType) && menu.status == "0")
|
&& menu.status == "0"
|
||||||
.OrderBy((menu, roleMenu) => new { menu.parentId, menu.orderNum })
|
&& SqlFunc.Subqueryable<SysRoleMenu>().Where( s => roleIds.Contains(s.Role_id) && s.Menu_id == menu.menuId).Any())
|
||||||
.Select((menu, roleMenu) => menu).ToList();
|
.OrderBy((menu) => new { menu.parentId, menu.orderNum })
|
||||||
|
.Select((menu) => menu).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user