更新控制器菜单接口
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
public async Task<Result> GetMenu()
|
||||
{
|
||||
|
||||
return Result.Success().SetData(await _menuService.GetAllEntitiesTrueAsync());
|
||||
return Result.Success().SetData(await _menuService.GetTopMenu());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -74,8 +74,11 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
await _roleService.SetMenusByRolesId(idsListDto.ids2, idsListDto.ids1);
|
||||
return Result.Success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public async Task<Result> GetMenuByRloeIds(List<int> roleIds)
|
||||
{
|
||||
var menuList =await _roleService.GetMenusByRoleId(roleIds);
|
||||
return Result.Success().SetData(menuList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,10 +112,9 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// 根据用户id得到该用户有哪些角色
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> GetRolesByUserId(int user_id)
|
||||
{
|
||||
var _user =await _userService.GetEntityById(user_id);
|
||||
[HttpPost]
|
||||
public async Task<Result> GetRolesByUserId(user _user)
|
||||
{
|
||||
var roleList = await _userService.GetRolesByUser(_user);
|
||||
return Result.Success().SetData(roleList);
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -27,13 +27,18 @@ namespace Yi.Framework.Interface
|
||||
Task<List<user>> GetUsersByRole(role _role);
|
||||
|
||||
/// <summary>
|
||||
/// 给单个角色设置多个菜单
|
||||
/// 给多个角色设置多个菜单
|
||||
/// </summary>
|
||||
/// <param name="menuIds"></param>
|
||||
/// <param name="menuId"></param>
|
||||
/// <param name="roleIds"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> SetMenusByRolesId(List<int> menuIds, List<int> roleIds);
|
||||
|
||||
/// <summary>
|
||||
/// 获取多个用户的菜单,并列,不包含子菜单
|
||||
/// </summary>
|
||||
/// <param name="roleIds"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<menu>> GetMenusByRoleId(List<int> roleIds);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Yi.Framework.Interface
|
||||
Task<bool> Register(user _user);
|
||||
|
||||
/// <summary>
|
||||
/// 根据http上下文的用户得到该用户有哪些角色
|
||||
/// 根据用户得到该用户有哪些角色
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<role>> GetRolesByUser(user _user);
|
||||
|
||||
@@ -72,9 +72,15 @@ namespace Yi.Framework.Service
|
||||
|
||||
public async Task<List<menu>> GetTopMenu()
|
||||
{
|
||||
return await _Db.Set<menu>().Include(u => u.children)
|
||||
.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal && u.is_top == (short)Common.Enum.TopFlagEnum.Top)
|
||||
var menu_data= await _Db.Set<menu>().Include(u => u.children).Include(u=>u.mould)
|
||||
.Where(u =>u.is_delete == (short)Common.Enum.DelFlagEnum.Normal && u.is_top == (short)Common.Enum.TopFlagEnum.Top)
|
||||
.ToListAsync();
|
||||
return TopMenuBuilder(menu_data);
|
||||
}
|
||||
private List<menu> TopMenuBuilder(List<menu> menu_data)
|
||||
{
|
||||
|
||||
return menu_data;
|
||||
}
|
||||
|
||||
public async Task<bool> SetMouldByMenu(int mouldId, int menuId)
|
||||
|
||||
@@ -53,5 +53,17 @@ namespace Yi.Framework.Service
|
||||
}
|
||||
return await UpdateListAsync(role_data);
|
||||
}
|
||||
public async Task<List<menu>> GetMenusByRoleId(List<int> roleIds)
|
||||
{
|
||||
var roleList = await _Db.Set<role>().Include(u=>u.menus)
|
||||
.Where(u => roleIds.Contains(u.id) && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync();
|
||||
var menuList=new List<menu>();
|
||||
roleList.ForEach(item =>
|
||||
{
|
||||
var menus = item.menus.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal);
|
||||
menuList = menuList.Concat(menus).ToList();
|
||||
});
|
||||
return menuList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,8 @@ namespace Yi.Framework.Service
|
||||
{
|
||||
var user_data = await _Db.Set<user>().Include(u=>u.roles)
|
||||
.Where(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
|
||||
var roleList = user_data.roles.ToList();
|
||||
var roleList = user_data.roles.Where(u=> u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToList();
|
||||
roleList.ForEach(u => u.users = null);
|
||||
return roleList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user