Files
Yi.Admin/Yi.Framework/Yi.Framework.ApiMicroservice/Controllers/MenuController.cs

130 lines
4.0 KiB
C#
Raw Normal View History

2021-10-13 23:08:42 +08:00
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;
2021-10-14 13:15:00 +08:00
using Yi.Framework.DTOModel;
2021-10-13 23:08:42 +08:00
using Yi.Framework.Interface;
using Yi.Framework.Model.Models;
2021-10-15 17:50:56 +08:00
using Yi.Framework.WebCore;
2021-10-13 23:08:42 +08:00
namespace Yi.Framework.ApiMicroservice.Controllers
{
2021-10-14 13:15:00 +08:00
[Route("api/[controller]/[action]")]
2021-10-13 23:08:42 +08:00
[ApiController]
public class MenuController : ControllerBase
{
private IMenuService _menuService;
2021-10-15 17:50:56 +08:00
private IUserService _userService;
public MenuController(IMenuService menuService, IUserService userService)
2021-10-13 23:08:42 +08:00
{
_menuService = menuService;
2021-10-15 17:50:56 +08:00
_userService =userService;
2021-10-13 23:08:42 +08:00
}
[HttpGet]
public async Task<Result> GetMenu()
{
2021-10-16 23:17:32 +08:00
return Result.Success().SetData(await _menuService.GetTopMenu());
2021-10-13 23:08:42 +08:00
}
/// <summary>
/// 更
/// </summary>
/// <param name="_menu"></param>
/// <returns></returns>
[HttpPut]
public async Task<Result> UpdateMenu(menu _menu)
{
await _menuService.UpdateAsync(_menu);
return Result.Success();
}
/// <summary>
/// 删
/// </summary>
/// <param name="_ids"></param>
/// <returns></returns>
[HttpDelete]
public async Task<Result> DelListMenu(List<int> _ids)
{
await _menuService.DelListByUpdateAsync(_ids);
return Result.Success();
}
/// <summary>
/// 增
/// </summary>
/// <param name="_menu"></param>
/// <returns></returns>
[HttpPost]
public async Task<Result> AddMenu(menu _menu)
{
2021-10-16 23:17:32 +08:00
_menu.is_top = (short)Common.Enum.TopFlagEnum.Top;
2021-10-13 23:08:42 +08:00
await _menuService.AddAsync(_menu);
return Result.Success();
}
2021-10-14 13:15:00 +08:00
/// <summary>
/// 给一个菜单设置一个接口,Id1为菜单id,Id2为接口id
/// </summary>
/// <param name="idDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<Result> SetMouldByMenu(IdDto<int> idDto)
2021-10-15 17:50:56 +08:00
{
if (await _menuService.SetMouldByMenu(idDto.id2,idDto.id1))
{
return Result.Success();
}
return Result.Error();
}
/// <summary>
/// 得到该用户有哪些菜单关联mould
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Result> GetMenuByUser()
{
var _user = this.HttpContext.GetCurrentUserInfo();
var menuList= await _userService.GetMenusByUser(_user);
return Result.Success().SetData(menuList);
2021-10-17 17:35:18 +08:00
2021-10-14 13:15:00 +08:00
}
/// <summary>
/// 给一个菜单添加子节点(注意:添加,不是覆盖)
/// </summary>
/// <param name="childrenDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<Result> AddChildrenMenu(ChildrenDto<menu> childrenDto)
2021-10-15 21:50:42 +08:00
{
2021-10-16 17:50:55 +08:00
var _children= await _menuService.AddChildrenMenu(new menu() { id=childrenDto.parentId}, childrenDto.data);
2021-10-15 21:50:42 +08:00
return Result.Success();
2021-10-17 17:35:18 +08:00
}
/// <summary>
/// 获取用户的目录菜单,不包含接口
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Result> GeTopMenuByUser()
{
var _user = this.HttpContext.GetCurrentUserInfo();
var menuList =await _userService.GetMenuByUser(_user);
return Result.Success().SetData(menuList);
}
public async Task<Result> GeTopMenuByUser(menu _menu)
{
var _user = this.HttpContext.GetCurrentUserInfo();
var menu_data= await _userService.GetMenuByUser(_user);
var menuList = await _menuService.GetChildrenMenu(_menu);
return Result.Success().SetData(menuList);
}
2021-10-13 23:08:42 +08:00
}
}