This commit is contained in:
zpc 2025-09-15 17:32:39 +08:00
parent c961b35fd8
commit 1f5d6d22b9
2 changed files with 29 additions and 6 deletions

View File

@ -77,6 +77,28 @@ namespace CoreCms.Net.Model.ViewModels.SQ
public class SQReservationsAddDto : SQReservations
{
/// <summary>
/// 开始时间
/// </summary>
[Display(Name = "开始时间")]
[Required(ErrorMessage = "请输入{0}")]
public new long start_time { get; set; }
/// <summary>
/// 结束时间
/// </summary>
[Display(Name = "结束时间")]
[Required(ErrorMessage = "请输入{0}")]
public new long end_time { get; set; }
/// <summary>
/// 预约ID
/// </summary>

View File

@ -461,9 +461,10 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
public async Task<WebApiDto> AddSQReservation([FromBody] SQReservationsAddDto dto)
{
var userId = _user.ID;
var start_time = DateTimeOffset.FromUnixTimeSeconds(dto.start_time).DateTime;
var end_time = DateTimeOffset.FromUnixTimeSeconds(dto.end_time).DateTime;
// 1. 参数校验
if (dto == null || dto.room_id <= 0 || dto.start_time >= dto.end_time)
if (dto == null || dto.room_id <= 0 || start_time >= end_time)
{
return new WebApiDto()
{
@ -487,7 +488,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
// 3. 检查房间是否可预约(不可用时间段)
var hasUnavailable = await _sQRoomUnavailableTimesServices.QueryListByClauseAsync(
t => t.room_id == dto.room_id && t.start_time < dto.end_time && t.end_time > dto.start_time,
t => t.room_id == dto.room_id && t.start_time < end_time && t.end_time > start_time,
t => t.id, OrderByType.Asc);
if (hasUnavailable != null && hasUnavailable.Count > 0)
{
@ -501,7 +502,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
// 4. 检查房间是否已被预约(未取消的预约,时间有重叠)
var hasReserved = await _SQReservationsServices.QueryListByClauseAsync(
r => r.room_id == dto.room_id && r.status < 2 && r.start_time < dto.end_time && r.end_time > dto.start_time,
r => r.room_id == dto.room_id && r.status < 2 && r.start_time < end_time && r.end_time > start_time,
r => r.id, OrderByType.Asc);
if (hasReserved != null && hasReserved.Count > 0)
{
@ -518,8 +519,8 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
{
room_id = dto.room_id,
room_name = room.name,
start_time = dto.start_time,
end_time = dto.end_time,
start_time = start_time,
end_time = end_time,
game_type = dto.game_type,
created_at = DateTime.Now,
updated_at = DateTime.Now,