make
This commit is contained in:
parent
c961b35fd8
commit
1f5d6d22b9
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user