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.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(); } /// /// 根据http上下文的用户得到该用户有哪些角色 /// /// [HttpGet] public async Task GetRolesByUser() { var _user = HttpContext.GetCurrentUserInfo(); var roleList = await _userService.GetRolesByUser(_user); return Result.Success().SetData(roleList); } /// /// 根据用户id得到该用户有哪些角色 /// /// [HttpGet] public async Task GetRolesByUserId(int userId) <<<<<<< Updated upstream <<<<<<< Updated upstream <<<<<<< Updated upstream { var roleList = await _userService.GetRolesByUser(new user() { id=userId}); ======= ======= >>>>>>> Stashed changes ======= >>>>>>> Stashed changes { var _user =await _userService.GetEntityById(userId); var roleList = await _userService.GetRolesByUser(_user); >>>>>>> Stashed changes return Result.Success().SetData(roleList); } /// /// 根据http上下文的用户得到该用户信息,关联角色 /// /// [HttpGet] public async Task GetUserInfoById() { var _user = HttpContext.GetCurrentUserInfo(); return Result.Success().SetData(await _userService.GetUserInfoById(_user.id)); } } }