71 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|