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.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 UserController : BaseCrudController { private IUserService _iUserService; public UserController(ILogger logger, IUserService iUserService) : base(logger, iUserService) { _iUserService = iUserService; } [HttpGet] public async Task PageList() { return Result.Success().SetData(await _iUserService._repository.GetListAsync()); } /// /// 更改用户状态 /// /// /// /// [HttpPut] public async Task UpdateStatus(long userId,bool isDel) { return Result.Success().SetData(await _iUserService._repository.UpdateIgnoreNullAsync(new UserEntity() { Id = userId, IsDeleted = isDel })); } /// /// 添加用户,去重,密码加密 /// /// /// [Permission($"{nameof(UserEntity)}:add")] [HttpPost] public override async Task Add(UserEntity entity) { if (!await _iUserService.Exist(entity.UserName)) { entity.BuildPassword(); return Result.Success().SetData(await _iUserService._repository.InsertReturnSnowflakeIdAsync(entity)); } return Result.SuccessError("用户已存在"); } /// /// 给多用户设置多角色 /// /// /// [HttpPut] public async Task GiveUserSetRole(GiveUserSetRoleDto giveUserSetRoleDto) { return Result.Success().SetStatus(await _iUserService.GiveUserSetRole(giveUserSetRoleDto.UserIds, giveUserSetRoleDto.RoleIds)); } /// /// 通过用户id得到角色列表 /// /// [HttpGet] public async Task GetRoleListByUserId(long userId) { return Result.Success().SetData(await _iUserService.GetRoleListByUserId(userId)); } } }