using System; using IRaCIS.Application.Interfaces; using IRaCIS.Application.ViewModels; using IRaCIS.Core.Application.Contracts.RequestAndResponse; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace IRaCIS.Api.Controllers.Doctor { /// /// 医生休假安排 /// [Route("holiday")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Reviewer")] public class VacationController : ControllerBase { private readonly IVacationService _vacationService; public VacationController(IVacationService vacationService) { _vacationService = vacationService; } /// /// 添加休假时间段 /// /// Status不传 /// [HttpPost, Route("addOrUpdateVacation")] public IResponseOutput AddOrUpdateVacation(VacationCommand vacationViewModel) { return _vacationService.AddOrUpdateVacation(vacationViewModel); } /// /// 删除休假时间段 /// /// 记录Id /// [HttpDelete, Route("deleteVacation/{holidayId:guid}")] public IResponseOutput DeleteVacation(Guid holidayId) { return _vacationService.DeleteVacation(holidayId); } /// /// 获取休假时间段列表 /// /// [HttpGet, Route("getVacationList/{doctorId:guid}/{pageIndex:int}/{pageSize:int}")] public IResponseOutput> GetVacationList(Guid doctorId, int pageIndex, int pageSize) { return ResponseOutput.Ok(_vacationService.GetVacationList(doctorId, pageIndex, pageSize)) ; } } }