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 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> /// <summary>
/// 预约ID /// 预约ID
/// </summary> /// </summary>

View File

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