using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Yi.Framework.Common.Models; using Yi.Framework.Interface; using Yi.Framework.Model.Models; using Yi.Framework.Repository; using Yi.Framework.WebCore; using Yi.Framework.WebCore.AttributeExtend; using Yi.Framework.WebCore.AuthorizationPolicy; namespace Yi.Framework.ApiMicroservice.Controllers { /// /// 菜单管理 /// [ApiController] [Route("api/[controller]/[action]")] public class MenuController: BaseSimpleRdController { private IMenuService _iMenuService; public MenuController(ILogger logger, IMenuService iMenuService):base(logger,iMenuService) { _iMenuService = iMenuService; } /// /// 动态条件查询全部 /// /// /// [HttpGet] [Permission("system:menu:query")] public async Task SelctGetList([FromQuery] MenuEntity menu) { return Result.Success().SetData(await _iMenuService.SelctGetList(menu)); } /// /// 插入 /// /// /// [HttpPost] [Permission("system:menu:add")] public async Task Add(MenuEntity menu) { return Result.Success().SetData(await _iMenuService._repository.InsertReturnSnowflakeIdAsync(menu)); } /// /// 更新 /// /// /// [HttpPut] [Permission("system:menu:edit")] public async Task Update(MenuEntity menu) { //注意,这里如果是主目录,还需要判断/,需要以/开头 return Result.Success().SetData(await _iMenuService._repository.UpdateIgnoreNullAsync(menu)); } /// /// 得到树形菜单 /// /// [HttpGet] [Permission("system:menu:query")] public async Task GetMenuTree() { return Result.Success().SetData(await _iMenuService.GetMenuTreeAsync()); } /// /// 根据角色id获取该角色下全部菜单 /// /// /// [HttpGet] [Route("{id}")] [Permission("system:menu:query")] public async Task GetListByRoleId(long id) { return Result.Success().SetData(await _iMenuService.GetListByRoleId(id)); } } }