Example #1
0
        /// <summary>
        /// 获取成员当前菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <IList <AntMenuTree> > GetCurrentMenuTree(EmployeeMenuRequestDto input)
        {
            var menus = await GetEmployeeMenuAsync(input.UserId);

            var menuIds  = menus.Select(r => r.Id).ToList();
            var menuDtos = await _menuAppService.GetMenuByIdsAsync(menuIds);

            var moduleIds  = menuDtos.Select(m => m.ModuleId).ToList();
            var moduleDtos = await _moduleAppService.GetModuleByIdsAsnyc(moduleIds);

            foreach (var item in menuDtos)
            {
                var module = moduleDtos.Where(m => m.Id == item.ModuleId).FirstOrDefault();
                item.Url = module?.Url;
            }
            var id    = Guid.Empty.ToString();
            var mTree = GetAntTree(menuDtos, id);

            return(mTree);
        }