using Microsoft.AspNetCore.Authorization;
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]
[Authorize]
public class MenuController : ControllerBase
{
private IMenuService _menuService;
private IUserService _userService;
public MenuController(IMenuService menuService,IUserService userService)
{
_menuService = menuService;
_userService = userService;
}
///
/// 这个是要递归的,但是要过滤掉删除的,所以,可以写一个通用过滤掉删除的方法
///
///
[HttpGet]
public async Task GetMenuInMould()
{
return Result.Success().SetData(await _menuService.GetMenuInMould());
}
///
/// 更
///
///
///
[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();
}
///
/// 增
/// 现在,top菜单只允许为一个
///
///
///
[HttpPost]
public async Task AddTopMenu(menu _menu)
{
await _menuService.AddTopMenu(_menu);
return Result.Success();
}
///
/// 给一个菜单设置一个接口,Id1为菜单id,Id2为接口id
/// 用于给菜单设置接口
///
///
///
[HttpPost]
public async Task SetMouldByMenu(IdDto idDto)
{
await _menuService.SetMouldByMenu(idDto.id1, idDto.id2);
return Result.Success();
}
///
/// 给一个菜单添加子节点(注意:添加,不是覆盖)
///
///
///
[HttpPost]
public async Task AddChildrenMenu(ChildrenDto