using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Yi.Framework.Common.Models; using Yi.Framework.DTOModel; using Yi.Framework.Interface; using Yi.Framework.Model.Models; using Yi.Framework.WebCore; namespace Yi.Framework.ApiMicroservice.Controllers { [Route("api/[controller]/[action]")] [ApiController] public class MenuController : ControllerBase { private IMenuService _menuService; private IUserService _userService; public MenuController(IMenuService menuService, IUserService userService) { _menuService = menuService; _userService =userService; } [HttpGet] public async Task GetMenu() { return Result.Success().SetData(await _menuService.GetAllEntitiesTrueAsync()); } /// /// 更 /// /// /// [HttpPut] public async Task UpdateMenu(menu _menu) { await _menuService.UpdateAsync(_menu); return Result.Success(); } /// /// 删 /// /// /// [HttpDelete] public async Task DelListMenu(List _ids) { await _menuService.DelListByUpdateAsync(_ids); return Result.Success(); } /// /// 增 /// /// /// [HttpPost] public async Task AddMenu(menu _menu) { await _menuService.AddAsync(_menu); return Result.Success(); } /// /// 给一个菜单设置一个接口,Id1为菜单id,Id2为接口id /// /// /// [HttpPost] public async Task SetMouldByMenu(IdDto idDto) { if (await _menuService.SetMouldByMenu(idDto.id2,idDto.id1)) { return Result.Success(); } return Result.Error(); } /// /// 得到该用户有哪些菜单,关联mould /// /// [HttpGet] public async Task GetMenuByUser() { var _user = this.HttpContext.GetCurrentUserInfo(); var menuList= await _userService.GetMenusByUser(_user); return Result.Success().SetData(menuList); } /// /// 给一个菜单添加子节点(注意:添加,不是覆盖) /// /// /// [HttpPost] public async Task AddChildrenMenu(ChildrenDto childrenDto) { var _menu = await _menuService.GetEntityById(childrenDto.parentId); var _children= await _menuService.AddChildrenMenu(_menu,childrenDto.data); return Result.Success(); } } }