Compare commits
2 Commits
8404f5b452
...
1525e6df40
| Author | SHA1 | Date |
|---|---|---|
|
|
1525e6df40 | |
|
|
612f0b0f76 |
|
|
@ -177,11 +177,10 @@
|
||||||
菜单服务
|
菜单服务
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:langguanApi.Controllers.MenuController.List(langguanApi.Model.reqpage)">
|
<member name="M:langguanApi.Controllers.MenuController.List">
|
||||||
<summary>
|
<summary>
|
||||||
获取菜单列表
|
获取菜单列表
|
||||||
</summary>
|
</summary>
|
||||||
<param name="input"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:langguanApi.Controllers.MenuController.Add(langguanApi.Model.Entity.AddMenuDto)">
|
<member name="M:langguanApi.Controllers.MenuController.Add(langguanApi.Model.Entity.AddMenuDto)">
|
||||||
|
|
@ -1793,11 +1792,17 @@
|
||||||
<param name="input"></param>
|
<param name="input"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:langguanApi.Service.MenuService.Pager(langguanApi.Model.reqpage)">
|
<member name="M:langguanApi.Service.MenuService.GetMenuTree">
|
||||||
<summary>
|
<summary>
|
||||||
获取菜单树
|
获取菜单树
|
||||||
</summary>
|
</summary>
|
||||||
<param name="input"></param>
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:langguanApi.Service.MenuService.GetChildList(System.String)">
|
||||||
|
<summary>
|
||||||
|
递归获取子菜单列表
|
||||||
|
</summary>
|
||||||
|
<param name="parentId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:langguanApi.Service.OrganizedService">
|
<member name="T:langguanApi.Service.OrganizedService">
|
||||||
|
|
|
||||||
|
|
@ -24,12 +24,11 @@ namespace langguanApi.Controllers
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取菜单列表
|
/// 获取菜单列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("list")]
|
[HttpGet("list")]
|
||||||
public async Task<IActionResult> List([FromQuery] reqpage input)
|
public async Task<IActionResult> List()
|
||||||
{
|
{
|
||||||
var result = await _menuService.Pager(input);
|
var result = await _menuService.GetMenuTree();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -84,71 +84,29 @@ namespace langguanApi.Service
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取菜单树
|
/// 获取菜单树
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult> Pager(reqpage input)
|
public async Task<ApiResult> GetMenuTree()
|
||||||
{
|
{
|
||||||
|
//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>();
|
List<MenuTreeDto> dto = new List<MenuTreeDto>();
|
||||||
try
|
var MenuList = await GetChildList(null);
|
||||||
|
foreach (var item in MenuList)
|
||||||
{
|
{
|
||||||
var MenuList = await GetChildList("0");//获取跟节点
|
dto.Add(new MenuTreeDto()
|
||||||
if (MenuList.Any())
|
|
||||||
{
|
{
|
||||||
foreach (var item in MenuList)
|
Id = item.Id,
|
||||||
{
|
Name = item.Name,
|
||||||
dto.Add(new MenuTreeDto()
|
Sort = item.Sort,
|
||||||
{
|
ParentId = item.ParentId,
|
||||||
Id = item.Id,
|
ParentName = item.ParentName,
|
||||||
Name = item.Name,
|
Children = await GetChildList(item.Id)
|
||||||
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 = "获取菜单列表不存在" };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
return new ApiResult() { data = dto };
|
||||||
{
|
|
||||||
|
|
||||||
_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>
|
/// <summary>
|
||||||
/// 递归获取子菜单列表
|
/// 递归获取子菜单列表
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,9 @@ namespace langguanApi.Service
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResult> List(int OrganizedType = 1)
|
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;
|
Expression<Func<Organized, bool>> exp = filter => filter.OrganizedType == OrganizedType && filter.IsDelete == false;
|
||||||
|
|
||||||
var result = (await base.GetListWithExp(exp)).OrderByDescending(x => x.Order).ToList();
|
var result = (await base.GetListWithExp(exp)).OrderByDescending(x => x.Order).ToList();
|
||||||
return new ApiResult() { code = 0, data = result };
|
return new ApiResult() { code = 0, data = result };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue