diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/MenuController.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/MenuController.cs index 3a4aebfc..40cff08b 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/MenuController.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/MenuController.cs @@ -26,7 +26,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers [HttpGet] public async Task GetMenu() { - return Result.Success().SetData(await _menuService.GetMenuMouldByMenu( new menu())); + return Result.Success().SetData(await _menuService.GetTopMenu()); } /// @@ -62,6 +62,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers [HttpPost] public async Task AddMenu(menu _menu) { + _menu.is_top = (short)Common.Enum.TopFlagEnum.Top; await _menuService.AddAsync(_menu); return Result.Success(); } diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/YIDB.db b/Yi.Framework/Yi.Framework.ApiMicroservice/YIDB.db index 819a767c..85be485f 100644 Binary files a/Yi.Framework/Yi.Framework.ApiMicroservice/YIDB.db and b/Yi.Framework/Yi.Framework.ApiMicroservice/YIDB.db differ diff --git a/Yi.Framework/Yi.Framework.Common/Models/Enum/TopFlagEnum.cs b/Yi.Framework/Yi.Framework.Common/Models/Enum/TopFlagEnum.cs new file mode 100644 index 00000000..a9e05013 --- /dev/null +++ b/Yi.Framework/Yi.Framework.Common/Models/Enum/TopFlagEnum.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Common.Enum +{ + public enum TopFlagEnum + { + Children=0, + Top=1 + } +} diff --git a/Yi.Framework/Yi.Framework.Interface/IMenuService.cs b/Yi.Framework/Yi.Framework.Interface/IMenuService.cs index f360d358..223df12c 100644 --- a/Yi.Framework/Yi.Framework.Interface/IMenuService.cs +++ b/Yi.Framework/Yi.Framework.Interface/IMenuService.cs @@ -10,6 +10,10 @@ namespace Yi.Framework.Interface public interface IMenuService:IBaseService { Task DelListByUpdateAsync(List _ids); + /// + /// 获取所有菜单 + /// + /// Task> GetAllEntitiesTrueAsync(); /// @@ -46,5 +50,15 @@ namespace Yi.Framework.Interface /// /// Task AddChildrenMenu(menu _menu, menu _children); + /// + /// 获取根目录菜单 + /// + /// + Task> GetTopMenu(); + /// + /// 获取子菜单 + /// + /// + Task> GetChildrenMenu(); } } diff --git a/Yi.Framework/Yi.Framework.Service/MenuService.cs b/Yi.Framework/Yi.Framework.Service/MenuService.cs index ccea412f..96999a96 100644 --- a/Yi.Framework/Yi.Framework.Service/MenuService.cs +++ b/Yi.Framework/Yi.Framework.Service/MenuService.cs @@ -16,6 +16,7 @@ namespace Yi.Framework.Service public async Task AddChildrenMenu(menu _menu, menu _children) { var menu_data = await _Db.Set().Include(u => u.children).Where(u => u.id == _menu.id).FirstOrDefaultAsync(); + _children.is_top = (short)Common.Enum.TopFlagEnum.Children; menu_data.children.Add(_children); await UpdateAsync(menu_data); return menu_data; @@ -30,7 +31,7 @@ namespace Yi.Framework.Service public async Task> GetAllEntitiesTrueAsync() { - return await GetEntitiesAsync(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); + return await GetEntitiesAsync(u=> u.is_delete == (short)Common.Enum.DelFlagEnum.Normal); } public async Task> GetChildrenByMenu(menu _menu) @@ -40,6 +41,13 @@ namespace Yi.Framework.Service return childrenList; } + public async Task> GetChildrenMenu() + { + return await _Db.Set().Include(u => u.children) + .Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal&& u.is_top == (short)Common.Enum.TopFlagEnum.Children ) + .ToListAsync(); + } + public async Task GetMenuMouldByMenu(menu _menu) { var menu_data = await _Db.Set().Include(u => u.children).Include(u=>u.mould).Where(u=>u.id==_menu.id).FirstOrDefaultAsync(); @@ -53,6 +61,13 @@ namespace Yi.Framework.Service return menu_data.mould; } + public async Task> GetTopMenu() + { + return await _Db.Set().Include(u => u.children) + .Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal && u.is_top == (short)Common.Enum.TopFlagEnum.Top) + .ToListAsync(); + } + public async Task SetMouldByMenu(int mouldId, int menuId) { var menu_data = await GetEntity(u => u.id == menuId);