Files
jinko.yikatong/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs
2024-08-15 17:54:44 +08:00

111 lines
2.8 KiB
C#

using Dlhis.Sys.Identity.Request;
using Dlhis.Sys.Identity.Response;
using Dlhis.Sys.Identity.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Sys.Identity.Controllers;
/// <summary>
/// 用户
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
private readonly IUserService _userService;
public UsersController(IUserService userService)
{
_userService = userService;
}
/// <summary>
/// 用户分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<UserResponse>> GetPageAsync([FromQuery] UserPageRequest request)
{
return await _userService.GetPageAsync(request);
}
/// <summary>
/// 获取用户列表
/// </summary>
/// <returns></returns>
[Authorize(Roles = "admin")]
[HttpGet("list")]
public async Task<List<UserResponse>> GetUsersAsync()
{
return await _userService.GetUsersAsync();
}
/// <summary>
/// 根据id获取用户
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[Authorize]
[HttpGet]
public async Task<UserResponse> GetUserByIdAsync(int id)
{
return await _userService.GetUserByIdAsync(id);
}
[Authorize]
[HttpPost("by-ids")]
public async Task<List<UserResponse>> GetUserByIdsAsync(List<int> ids)
{
return await _userService.GetUserByIdsAsync(ids);
}
/// <summary>
/// 创建用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("create")]
public async Task CreateUserAsync(UserCreateRequest request)
{
await _userService.CreateUserAsync(request);
}
/// <summary>
/// 上传头像
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Authorize]
[HttpPost("avatar")]
public async Task UploadUserAvatarAsync([FromForm] UserAvatarUploadRequest request)
{
await _userService.UploadUserAvatarAsync(request);
}
/// <summary>
/// 重置登陆
/// </summary>
/// <param name="request"></param>
[Transactional]
[Authorize]
[HttpPost("reloginInfo")]
public async Task ResetLoginTenantAsync(UserResetLoginTenantRequest request)
{
await _userService.ResetLoginTenantAsync(request);
}
/// <summary>
/// 密码重置
/// </summary>
/// <param name="request"></param>
[Authorize(Roles = "admin")]
[HttpPost("password/reset")]
public async Task ResetPasswordAsync(UserResetPasswordRequest request)
{
await _userService.ResetPasswordAsync(request);
}
}