Files
jinko.yikatong/Src/Dlhis.Basic/Common/Holiday/Controller/HolidaysController.cs

57 lines
1.5 KiB
C#

using Dlhis.Basic.Common.Holiday.Requests;
using Dlhis.Basic.Common.Holiday.Responses;
using Dlhis.Basic.Common.Holiday.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Common.Holiday.Controller;
[Authorize(Roles = "admin")]
[ApiController]
[Route("api/[controller]")]
public class HolidaysController : ControllerBase
{
private readonly IHolidayService _holidayService;
public HolidaysController(IHolidayService holidayService)
{
_holidayService = holidayService;
}
/// <summary>
/// 保存节假日信息。
/// </summary>
/// <param name="req">节假日请求参数。</param>
[HttpPost("save")]
public async Task SaveAsync(HolidayRequest req)
{
await _holidayService.SaveAsync(req);
}
/// <summary>
/// 获取所有节假日信息。
/// </summary>
/// <returns>节假日响应列表。</returns>
[HttpGet("list")]
public async Task<List<HolidayResponse>> GetAllHolidaysAsync()
{
return await _holidayService.GetAllHolidaysAsync();
}
/// <summary>
/// 删除指定ID的节假日信息。
/// </summary>
/// <param name="id">节假日ID。</param>
[HttpPost("delete/{id}")]
public async Task DeleteAsync(long id)
{
await _holidayService.DeleteAsync(id);
}
[AllowAnonymous]
[HttpGet("remote-ip")]
public string GetRemoteIp()
{
return HttpContext.Connection.RemoteIpAddress?.ToString();
}
}