完善菜单接口

This commit is contained in:
yeslode
2021-10-17 23:17:07 +08:00
parent 32a9c89d6a
commit 73525db2e9
7 changed files with 16 additions and 12 deletions

View File

@@ -26,7 +26,9 @@ namespace Yi.Framework.ApiMicroservice.Controllers
[HttpGet] [HttpGet]
public async Task<Result> GetMenu() public async Task<Result> GetMenu()
{ {
return Result.Success().SetData(await _menuService.GetTopMenu()); //var top =await _menuService.GetTopMenu();
//var children=await _menuService.get
return Result.Success().SetData(await _menuService.GetTopMenu());
} }
/// <summary> /// <summary>

View File

@@ -71,10 +71,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
[HttpPost] [HttpPost]
public async Task<Result> SetMenuByRole(IdsListDto<int> idsListDto) public async Task<Result> SetMenuByRole(IdsListDto<int> idsListDto)
{ {
foreach(var id in idsListDto.ids1) await _roleService.SetMenusByRolesId(idsListDto.ids2, idsListDto.ids1);
{
await _roleService.SetMenusByRolesId(idsListDto.ids2, id);
}
return Result.Success(); return Result.Success();
} }
} }

View File

@@ -60,5 +60,6 @@ namespace Yi.Framework.Interface
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
Task<List<menu>> GetChildrenMenu(menu _menu); Task<List<menu>> GetChildrenMenu(menu _menu);
} }
} }

View File

@@ -32,7 +32,7 @@ namespace Yi.Framework.Interface
/// <param name="menuIds"></param> /// <param name="menuIds"></param>
/// <param name="menuId"></param> /// <param name="menuId"></param>
/// <returns></returns> /// <returns></returns>
Task<bool> SetMenusByRolesId(List<int> menuIds, int roleId); Task<bool> SetMenusByRolesId(List<int> menuIds, List<int> roleIds);
} }
} }

View File

@@ -13,10 +13,11 @@ namespace Yi.Framework.Service
{ {
public MenuService(DbContext Db) : base(Db) { } public MenuService(DbContext Db) : base(Db) { }
public async Task<menu> AddChildrenMenu(menu _menu, menu _children) public async Task<menu> AddChildrenMenu(menu _menu, menu _children)
{ {
var menu_data = await _Db.Set<menu>().Include(u => u.children).Where(u => u.id == _menu.id).FirstOrDefaultAsync(); var menu_data = await _Db.Set<menu>().Include(u => u.children).Where(u => u.id == _menu.id).FirstOrDefaultAsync();
_children.is_top = (short)Common.Enum.TopFlagEnum.Children; _children.is_top = (short)Common.Enum.TopFlagEnum.Children;
menu_data.children.Add(_children); menu_data.children.Add(_children);
await UpdateAsync(menu_data); await UpdateAsync(menu_data);
return menu_data; return menu_data;

View File

@@ -42,17 +42,20 @@ namespace Yi.Framework.Service
return role_data.users.ToList(); return role_data.users.ToList();
} }
public async Task<bool> SetMenusByRolesId(List<int> menuIds, int roleId) public async Task<bool> SetMenusByRolesId(List<int> menuIds,List<int> roleIds)
{ {
var role_data = await GetEntity(u => u.id == roleId && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); 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();
if (role_data == null) if (role_data == null)
{ {
return false; return false;
} }
var menuList = await _Db.Set<menu>().Where(u => menuIds.Contains(u.id)&&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); var menuList = await _Db.Set<menu>().Where(u => menuIds.Contains(u.id)&&u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync();
foreach(var role in role_data)
role_data.menus =menuList; {
return await AddAsync(role_data); role.menus =menuList;
}
return await UpdateListAsync(role_data);
} }
} }
} }