110 lines
2.8 KiB
C#
110 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>
|
|
[HttpPost("password/reset")]
|
|
public async Task ResetPasswordAsync(UserResetPasswordRequest request)
|
|
{
|
|
await _userService.ResetPasswordAsync(request);
|
|
}
|
|
} |