diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/RoleController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/RoleController.cs index 9f08925f..179135cc 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/RoleController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/RoleController.cs @@ -74,10 +74,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers await _roleService.SetMenusByRolesId(idsListDto.ids2, idsListDto.ids1); return Result.Success(); } - [HttpPost] - public async Task GetMenuByRloeIds(List roleIds) + [HttpGet] + public async Task GetMenuByRloeIds(int roleId) { - var menuList =await _roleService.GetMenusByRoleId(roleIds); + var menuList =await _roleService.GetMenusByRoleId(roleId); return Result.Success().SetData(menuList); } } diff --git a/Yi.Framework/Yi.Framework.Interface/IRoleService.cs b/Yi.Framework/Yi.Framework.Interface/IRoleService.cs index 8262c3d8..24cf4081 100644 --- a/Yi.Framework/Yi.Framework.Interface/IRoleService.cs +++ b/Yi.Framework/Yi.Framework.Interface/IRoleService.cs @@ -38,7 +38,7 @@ namespace Yi.Framework.Interface /// /// /// - Task> GetMenusByRoleId(List roleIds); + Task> GetMenusByRoleId(int roleId); } } diff --git a/Yi.Framework/Yi.Framework.Service/RoleService.cs b/Yi.Framework/Yi.Framework.Service/RoleService.cs index 6622f3e4..57ed3393 100644 --- a/Yi.Framework/Yi.Framework.Service/RoleService.cs +++ b/Yi.Framework/Yi.Framework.Service/RoleService.cs @@ -26,7 +26,7 @@ namespace Yi.Framework.Service { var role_data =await _Db.Set().Include(u => u.menus) .Where(u => u.id == _role.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync(); - var menuList =role_data.menus.Where(u => u.is_top == (short)Common.Enum.TopFlagEnum.Top && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal) + var menuList =role_data.menus.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal) .ToList(); return menuList; } @@ -53,16 +53,12 @@ namespace Yi.Framework.Service } return await UpdateListAsync(role_data); } - public async Task> GetMenusByRoleId(List roleIds) + public async Task> GetMenusByRoleId(int roleId) { - var roleList = await _Db.Set().Include(u=>u.menus) - .Where(u => roleIds.Contains(u.id) && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); - var menuList=new List(); - roleList.ForEach(item => - { - var menus = item.menus.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); - menuList = menuList.Concat(menus).ToList(); - }); + var role_data = await _Db.Set().Include(u=>u.menus) + .Where(u =>u.id==roleId && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync(); + var menuList = role_data.menus.ToList(); + menuList.ForEach(u => u.roles = null); return menuList; } } diff --git a/Yi.Framework/Yi.Framework.Service/UserService.cs b/Yi.Framework/Yi.Framework.Service/UserService.cs index c0577095..4d97c160 100644 --- a/Yi.Framework/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework/Yi.Framework.Service/UserService.cs @@ -45,7 +45,15 @@ namespace Yi.Framework.Service { var user_data= await _Db.Set().Include(u => u.roles).ThenInclude(u=>u.menus).ThenInclude(u=>u.mould) .Where(u=>u.id==_user.id&& u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync(); - var menuList= user_data.roles.Select(u=>u.menus); + var role_data =await GetRolesByUser(user_data); + var menuList = new List(); + role_data.ForEach(u => + { + var menu_data = _roleService.GetMenusByRole(u); + menuList = menuList.Concat((IEnumerable)menu_data).ToList(); + }); + //menuList.ForEach(u => u.roles = null); + return (List)menuList; } @@ -53,8 +61,8 @@ namespace Yi.Framework.Service { var user_data = await GetEntity(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); var menu = await GetMenusByUser(user_data); - var mouldList = menu.Select(u=>u.mould); - return (List)mouldList; + var mouldList = menu.Select(u=>u.mould).ToList(); + return mouldList; } public async Task> GetRolesByUser(user _user)