更新控制器菜单接口

This commit is contained in:
lzw
2021-10-19 17:33:55 +08:00
parent f7cebdbce6
commit d215841b67
9 changed files with 41 additions and 15 deletions

View File

@@ -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>

View File

@@ -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);
}
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -25,7 +25,7 @@ namespace Yi.Framework.Interface
Task<bool> Register(user _user);
/// <summary>
/// 根据http上下文的用户得到该用户有哪些角色
/// 根据用户得到该用户有哪些角色
/// </summary>
/// <returns></returns>
Task<List<role>> GetRolesByUser(user _user);

View File

@@ -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)

View File

@@ -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;
}
}
}

View File

@@ -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;
}