diff --git a/Yi.Framework/Yi.Framework.Service/MenuService.cs b/Yi.Framework/Yi.Framework.Service/MenuService.cs index 99210c3d..e2825cd6 100644 --- a/Yi.Framework/Yi.Framework.Service/MenuService.cs +++ b/Yi.Framework/Yi.Framework.Service/MenuService.cs @@ -41,7 +41,7 @@ namespace Yi.Framework.Service return TopMenuBuild(menu_data); } - public async Task> GetTopMenusByHttpUser(List menuIds) + public async Task> GetTopMenusByTopMenuIds(List menuIds) { return await _DbRead.Set().Where(u => menuIds.Contains(u.id)).ToListAsync(); } @@ -77,7 +77,14 @@ namespace Yi.Framework.Service } public async Task> GetTopMenuByUserId(int userId) { - throw new Exception(); + var user_data = await _DbRead.Set().Include(u => u.roles).ThenInclude(u => u.menus).FirstOrDefaultAsync(); + List menuList = new(); + user_data.roles.ForEach(u => + { + var m = u.menus.Where(u => u.is_delete == Normal).ToList(); + menuList = menuList.Union(m).ToList(); + }); + return menuList; } }