Compare commits
No commits in common. "1525e6df40cfa233cc861fc20f399f27d6afe99a" and "8404f5b452c3a54feeb502134ddfb19898237362" have entirely different histories.
1525e6df40
...
8404f5b452
|
|
@ -177,10 +177,11 @@
|
|||
菜单服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.List">
|
||||
<member name="M:langguanApi.Controllers.MenuController.List(langguanApi.Model.reqpage)">
|
||||
<summary>
|
||||
获取菜单列表
|
||||
</summary>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Controllers.MenuController.Add(langguanApi.Model.Entity.AddMenuDto)">
|
||||
|
|
@ -1792,17 +1793,11 @@
|
|||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Service.MenuService.GetMenuTree">
|
||||
<member name="M:langguanApi.Service.MenuService.Pager(langguanApi.Model.reqpage)">
|
||||
<summary>
|
||||
获取菜单树
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:langguanApi.Service.MenuService.GetChildList(System.String)">
|
||||
<summary>
|
||||
递归获取子菜单列表
|
||||
</summary>
|
||||
<param name="parentId"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:langguanApi.Service.OrganizedService">
|
||||
|
|
|
|||
|
|
@ -24,11 +24,12 @@ namespace langguanApi.Controllers
|
|||
/// <summary>
|
||||
/// 获取菜单列表
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
public async Task<IActionResult> List()
|
||||
public async Task<IActionResult> List([FromQuery] reqpage input)
|
||||
{
|
||||
var result = await _menuService.GetMenuTree();
|
||||
var result = await _menuService.Pager(input);
|
||||
return Ok(result);
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -84,29 +84,71 @@ namespace langguanApi.Service
|
|||
/// <summary>
|
||||
/// 获取菜单树
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult> GetMenuTree()
|
||||
public async Task<ApiResult> Pager(reqpage input)
|
||||
{
|
||||
//Expression<Func<Menu, bool>> exp = filter => filter.IsDelete == false;
|
||||
//if (!string.IsNullOrEmpty(input.key))
|
||||
//{
|
||||
// exp = exp.And(filter => filter.Name.Contains(input.key));
|
||||
//}
|
||||
List<MenuTreeDto> dto = new List<MenuTreeDto>();
|
||||
var MenuList = await GetChildList(null);
|
||||
foreach (var item in MenuList)
|
||||
try
|
||||
{
|
||||
dto.Add(new MenuTreeDto()
|
||||
var MenuList = await GetChildList("0");//获取跟节点
|
||||
if (MenuList.Any())
|
||||
{
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Sort = item.Sort,
|
||||
ParentId = item.ParentId,
|
||||
ParentName = item.ParentName,
|
||||
Children = await GetChildList(item.Id)
|
||||
});
|
||||
foreach (var item in MenuList)
|
||||
{
|
||||
dto.Add(new MenuTreeDto()
|
||||
{
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Sort = item.Sort,
|
||||
ParentId = item.ParentId,
|
||||
ParentName = item.ParentName,
|
||||
Children = await GetChildList(item.Id)
|
||||
});
|
||||
}
|
||||
//筛选数据
|
||||
if (!string.IsNullOrEmpty(input.key))
|
||||
{
|
||||
if (dto.Exists(p => p.Name == input.key) ||
|
||||
dto.Exists(p => p.Children.Exists(c => c.Name == input.key)) ||
|
||||
dto.Exists(p => p.ParentName == input.key))
|
||||
{
|
||||
if (dto.Exists(p => p.Name == input.key))
|
||||
{
|
||||
dto = dto.Where(p => p.Name == input.key).ToList();
|
||||
}
|
||||
else if (dto.Exists(p => p.Children.Exists(c => c.Name == input.key)))
|
||||
{
|
||||
dto = dto.SelectMany(p => p.Children).Where(p => p.Name == input.key).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
dto = dto.SelectMany(p => p.Children).Where(p => p.ParentName == input.key).ToList();
|
||||
}
|
||||
return new ApiResult() { code = 0, data = dto, msg = "获取菜单列表" };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ApiResult() { code = 0, data = null, msg = "获取菜单列表不存在" };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ApiResult() { data = dto };
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
_logger.LogError($"获取菜单列表出现异常,请求参数:{Newtonsoft.Json.JsonConvert.SerializeObject(input)}," +
|
||||
$"请求接口:'api/Menu/Pager'," +
|
||||
$"异常信息:{ex.Message}," +
|
||||
$"异常位置:{ex.StackTrace}"
|
||||
);
|
||||
return new ApiResult { code = 1, msg = "获取菜单列表失败", data = false };
|
||||
}
|
||||
finally
|
||||
{
|
||||
_logger.LogInformation($"获取菜单列表参数:menu:{Newtonsoft.Json.JsonConvert.SerializeObject(input)}");
|
||||
}
|
||||
return new ApiResult() { code = 0, data = dto, msg = "获取菜单列表" };
|
||||
}
|
||||
/// <summary>
|
||||
/// 递归获取子菜单列表
|
||||
|
|
|
|||
|
|
@ -89,9 +89,7 @@ namespace langguanApi.Service
|
|||
/// <returns></returns>
|
||||
public async Task<ApiResult> List(int OrganizedType = 1)
|
||||
{
|
||||
List<OrganizedByDeviceDto> dto = new List<OrganizedByDeviceDto>();
|
||||
Expression<Func<Organized, bool>> exp = filter => filter.OrganizedType == OrganizedType && filter.IsDelete == false;
|
||||
|
||||
var result = (await base.GetListWithExp(exp)).OrderByDescending(x => x.Order).ToList();
|
||||
return new ApiResult() { code = 0, data = result };
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue