From 1f5d6d22b99b3c93b1740ae7e6d46f6182d1ca56 Mon Sep 17 00:00:00 2001 From: zpc Date: Mon, 15 Sep 2025 17:32:39 +0800 Subject: [PATCH] make --- .../ViewModels/SQ/SQReservationsDto.cs | 22 +++++++++++++++++++ .../Controllers/SQController.cs | 13 ++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/CoreCms.Net.Model/ViewModels/SQ/SQReservationsDto.cs b/CoreCms.Net.Model/ViewModels/SQ/SQReservationsDto.cs index 7801573..7b1913d 100644 --- a/CoreCms.Net.Model/ViewModels/SQ/SQReservationsDto.cs +++ b/CoreCms.Net.Model/ViewModels/SQ/SQReservationsDto.cs @@ -77,6 +77,28 @@ namespace CoreCms.Net.Model.ViewModels.SQ public class SQReservationsAddDto : SQReservations { + + /// + /// 开始时间 + /// + [Display(Name = "开始时间")] + + [Required(ErrorMessage = "请输入{0}")] + + + + public new long start_time { get; set; } + + + /// + /// 结束时间 + /// + [Display(Name = "结束时间")] + + [Required(ErrorMessage = "请输入{0}")] + + public new long end_time { get; set; } + /// /// 预约ID /// diff --git a/CoreCms.Net.Web.WebApi/Controllers/SQController.cs b/CoreCms.Net.Web.WebApi/Controllers/SQController.cs index 62fa1c1..000a50b 100644 --- a/CoreCms.Net.Web.WebApi/Controllers/SQController.cs +++ b/CoreCms.Net.Web.WebApi/Controllers/SQController.cs @@ -461,9 +461,10 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices public async Task 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,