Files
jinko.yikatong/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs

71 lines
1.7 KiB
C#

using Dlhis.Sys.Identity.Request;
using Dlhis.Sys.Identity.Response;
using Dlhis.Sys.Identity.Services;
using Kurisu.Core.DataAccess.Dto;
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>
[Authorize(Roles = "admin")]
[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);
}
/// <summary>
/// 上传头像
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Authorize]
[HttpPost("avatar")]
public async Task UploadUserAvatarAsync([FromForm] UserAvatarUploadRequest request)
{
await _userService.UploadUserAvatarAsync(request);
}
}