Compare commits
	
		
			2 Commits
		
	
	
		
			8404f5b452
			...
			1525e6df40
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						1525e6df40 | |
| 
							
							
								 | 
						612f0b0f76 | 
| 
						 | 
				
			
			@ -177,11 +177,10 @@
 | 
			
		|||
            菜单服务
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:langguanApi.Controllers.MenuController.List(langguanApi.Model.reqpage)">
 | 
			
		||||
        <member name="M:langguanApi.Controllers.MenuController.List">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取菜单列表
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="input"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:langguanApi.Controllers.MenuController.Add(langguanApi.Model.Entity.AddMenuDto)">
 | 
			
		||||
| 
						 | 
				
			
			@ -1793,11 +1792,17 @@
 | 
			
		|||
            <param name="input"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:langguanApi.Service.MenuService.Pager(langguanApi.Model.reqpage)">
 | 
			
		||||
        <member name="M:langguanApi.Service.MenuService.GetMenuTree">
 | 
			
		||||
            <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>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:langguanApi.Service.OrganizedService">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,12 +24,11 @@ namespace langguanApi.Controllers
 | 
			
		|||
        /// <summary>
 | 
			
		||||
        /// 获取菜单列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="input"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [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);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,71 +84,29 @@ namespace langguanApi.Service
 | 
			
		|||
        /// <summary>
 | 
			
		||||
        /// 获取菜单树
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="input"></param>
 | 
			
		||||
        /// <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>();
 | 
			
		||||
            try
 | 
			
		||||
            var MenuList = await GetChildList(null);
 | 
			
		||||
            foreach (var item in MenuList)
 | 
			
		||||
            {
 | 
			
		||||
                var MenuList = await GetChildList("0");//获取跟节点
 | 
			
		||||
                if (MenuList.Any())
 | 
			
		||||
                dto.Add(new MenuTreeDto()
 | 
			
		||||
                {
 | 
			
		||||
                    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 = "获取菜单列表不存在" };
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                    Id = item.Id,
 | 
			
		||||
                    Name = item.Name,
 | 
			
		||||
                    Sort = item.Sort,
 | 
			
		||||
                    ParentId = item.ParentId,
 | 
			
		||||
                    ParentName = item.ParentName,
 | 
			
		||||
                    Children = await GetChildList(item.Id)
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            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 = "获取菜单列表" };
 | 
			
		||||
            return new ApiResult() { data = dto };
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 递归获取子菜单列表
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,9 @@ 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