更新角色控制器

This commit is contained in:
lzw
2021-10-19 18:30:56 +08:00
parent 71a6878122
commit ad9d1d9452
4 changed files with 21 additions and 17 deletions

View File

@@ -74,10 +74,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers
await _roleService.SetMenusByRolesId(idsListDto.ids2, idsListDto.ids1); await _roleService.SetMenusByRolesId(idsListDto.ids2, idsListDto.ids1);
return Result.Success(); return Result.Success();
} }
[HttpPost] [HttpGet]
public async Task<Result> GetMenuByRloeIds(List<int> roleIds) public async Task<Result> GetMenuByRloeIds(int roleId)
{ {
var menuList =await _roleService.GetMenusByRoleId(roleIds); var menuList =await _roleService.GetMenusByRoleId(roleId);
return Result.Success().SetData(menuList); return Result.Success().SetData(menuList);
} }
} }

View File

@@ -38,7 +38,7 @@ namespace Yi.Framework.Interface
/// </summary> /// </summary>
/// <param name="roleIds"></param> /// <param name="roleIds"></param>
/// <returns></returns> /// <returns></returns>
Task<List<menu>> GetMenusByRoleId(List<int> roleIds); Task<List<menu>> GetMenusByRoleId(int roleId);
} }
} }

View File

@@ -26,7 +26,7 @@ namespace Yi.Framework.Service
{ {
var role_data =await _Db.Set<role>().Include(u => u.menus) var role_data =await _Db.Set<role>().Include(u => u.menus)
.Where(u => u.id == _role.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync(); .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(); .ToList();
return menuList; return menuList;
} }
@@ -53,16 +53,12 @@ namespace Yi.Framework.Service
} }
return await UpdateListAsync(role_data); return await UpdateListAsync(role_data);
} }
public async Task<List<menu>> GetMenusByRoleId(List<int> roleIds) public async Task<List<menu>> GetMenusByRoleId(int roleId)
{ {
var roleList = await _Db.Set<role>().Include(u=>u.menus) var role_data = await _Db.Set<role>().Include(u=>u.menus)
.Where(u => roleIds.Contains(u.id) && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); .Where(u =>u.id==roleId && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
var menuList=new List<menu>(); var menuList = role_data.menus.ToList();
roleList.ForEach(item => menuList.ForEach(u => u.roles = null);
{
var menus = item.menus.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal);
menuList = menuList.Concat(menus).ToList();
});
return menuList; return menuList;
} }
} }

View File

@@ -45,7 +45,15 @@ namespace Yi.Framework.Service
{ {
var user_data= await _Db.Set<user>().Include(u => u.roles).ThenInclude(u=>u.menus).ThenInclude(u=>u.mould) var user_data= await _Db.Set<user>().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(); .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<menu>();
role_data.ForEach(u =>
{
var menu_data = _roleService.GetMenusByRole(u);
menuList = menuList.Concat((IEnumerable<menu>)menu_data).ToList();
});
//menuList.ForEach(u => u.roles = null);
return (List<menu>)menuList; return (List<menu>)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 user_data = await GetEntity(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal);
var menu = await GetMenusByUser(user_data); var menu = await GetMenusByUser(user_data);
var mouldList = menu.Select(u=>u.mould); var mouldList = menu.Select(u=>u.mould).ToList();
return (List<mould>)mouldList; return mouldList;
} }
public async Task<List<role>> GetRolesByUser(user _user) public async Task<List<role>> GetRolesByUser(user _user)