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.DTOModel; using Yi.Framework.Interface; using Yi.Framework.Model.Models; using Yi.Framework.WebCore; namespace Yi.Framework.ApiMicroservice.Controllers { [ApiController] [Route("api/[controller]/[action]")] public class UserController : ControllerBase { private readonly ILogger _logger; private IUserService _userService; public UserController(ILogger logger, IUserService userService) { _logger = logger; _userService = userService; } /// /// 查 /// /// [HttpGet] public async Task GetUser() { return Result.Success().SetData(await _userService.GetAllEntitiesTrueAsync()); } /// /// 更 /// /// /// [HttpPut] public async Task UpdateUser(user _user) { await _userService.UpdateAsync(_user); return Result.Success(); } /// /// 删 /// /// /// [HttpDelete] public async Task DelListUser(List _ids) { await _userService.DelListByUpdateAsync(_ids); return Result.Success(); } /// /// 增 /// /// /// [HttpPost] public async Task AddUser(user _user) { await _userService.AddAsync(_user); return Result.Success(); } /// /// 通过上下文对象获取user(注意,_user下只有userId),返回值为该用户下所有的menu,(注意子类递归)并且需要关联mould /// /// [HttpPost] public async Task GetMenuMould() { var _user= this.HttpContext.GetCurrentUserInfo(); var menu_data = await _userService.GetMenusByUser(_user); return Result.Success().SetData(menu_data); } /// /// 给多个用户设置多个角色,ids有用户id与 角色列表ids,多对多,ids1用户,ids2为角色 /// /// /// [HttpPost] public async Task SetRoleByUser(IdsListDto idsListDto) { await _userService.SetRolesByUser(idsListDto.ids2, idsListDto.ids1); return Result.Success(); } } }