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,