diff --git a/CoreCms.Net.Model/Entities/SQ/SQReservations.cs b/CoreCms.Net.Model/Entities/SQ/SQReservations.cs
index 8526cd8..119c46c 100644
--- a/CoreCms.Net.Model/Entities/SQ/SQReservations.cs
+++ b/CoreCms.Net.Model/Entities/SQ/SQReservations.cs
@@ -216,9 +216,9 @@ namespace CoreCms.Net.Model.Entities
///
- /// 状态:0=待开始,1=进行中,2=已结束,3=取消
+ /// 状态:0=待开始,1=锁定中,2=进行中,3=已结束,4=取消
///
- [Display(Name = "状态:0=待开始,1=进行中,2=已结束,3=取消")]
+ [Display(Name = "状态:0=待开始,1=锁定中,2=进行中,3=已结束,4=取消")]
[Required(ErrorMessage = "请输入{0}")]
diff --git a/CoreCms.Net.Task/HangfireDispose.cs b/CoreCms.Net.Task/HangfireDispose.cs
index 042d6bb..3b63879 100644
--- a/CoreCms.Net.Task/HangfireDispose.cs
+++ b/CoreCms.Net.Task/HangfireDispose.cs
@@ -42,22 +42,22 @@ namespace CoreCms.Net.Task
//自动取消订单任务
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/5 * * * ? ", TimeZoneInfo.Local); // 每5分钟取消一次订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/5 * * * ? ", TimeZoneInfo.Local); // 每5分钟取消一次订单
//自动完成订单任务
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
//自动评价订单任务
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
//自动签收订单任务
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 0/1 * * ? ", TimeZoneInfo.Local); // 每小时自动完成订单
//催付款订单
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/5 * * * ? ", TimeZoneInfo.Local); // 每5分钟催付款订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/5 * * * ? ", TimeZoneInfo.Local); // 每5分钟催付款订单
//拼团自动取消到期团(每分钟执行一次)
- RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/2 * * * ? ", TimeZoneInfo.Local); // 每分钟取消一次订单
+ //RecurringJob.AddOrUpdate(s => s.Execute(), "0 0/2 * * * ? ", TimeZoneInfo.Local); // 每分钟取消一次订单
//每天凌晨5点定期清理7天前操作日志
RecurringJob.AddOrUpdate(s => s.Execute(), "0 0 5 * * ? ", TimeZoneInfo.Local); // 每天5点固定时间清理一次
diff --git a/CoreCms.Net.Web.WebApi/Controllers/SQController.cs b/CoreCms.Net.Web.WebApi/Controllers/SQController.cs
index 753b29d..f90308e 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/SQController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/SQController.cs
@@ -161,7 +161,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
var roomList = await _SQRoomsServices.GetRoomList();
var where = PredicateBuilder.True();
where = where.And(it => it.end_time > now);
- where = where.And(it => it.status < 2);
+ where = where.And(it => it.status < 3);
var list = await _SQReservationsServices.QueryPageAsync(where, it => it.start_time, OrderByType.Asc, pageIndex, pageSize, true);
var pageList = _mapper.Map>(list);
if (pageList != null && pageList.Count > 0)
@@ -431,7 +431,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
// 3. 查询已被预约的房间(未取消的预约,时间有重叠)
var reservedRoomIds = (await _SQReservationsServices.QueryListByClauseAsync(
- r => r.status < 2 && r.start_time < end && r.end_time > start
+ r => r.status < 3 && r.start_time < end && r.end_time > start
)).Select(r => r.room_id).Distinct().ToList();
// 4. 可预约房间 = 所有可用房间 - 不可用房间 - 已预约房间
@@ -514,7 +514,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
(p, r) =>
p.user_id == userId &&
p.status == 0 && // 只查未退出
- r.status < 2 && // 只查未取消/未结束
+ r.status < 3 && // 只查未取消/未结束
r.end_time > now && // 只查未结束
r.start_time < end_time && r.end_time > start_time // 时间有重叠
);
@@ -652,7 +652,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
(p, r) =>
p.user_id == userId &&
p.status == 0 && // 只查未退出
- r.status < 2 && // 只查未取消/未结束
+ r.status < 3 && // 只查未取消/未结束
r.end_time > now && // 只查未结束
r.start_time < reservation.end_time && r.end_time > reservation.start_time // 时间有重叠
);
@@ -764,9 +764,26 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
Msg = "预约不存在"
};
}
-
+ if (reservation.start_time.AddMinutes(-30) > DateTime.Now)
+ {
+ return new WebApiDto()
+ {
+ Code = 400,
+ Data = null,
+ Msg = "预约开始前30分钟,无法取消"
+ };
+ }
+ if (reservation.status == 1) //
+ {
+ return new WebApiDto()
+ {
+ Code = 400,
+ Data = null,
+ Msg = "该预约已组局成功锁定,无法取消"
+ };
+ }
// 3. 检查预约状态是否允许取消
- if (reservation.status >= 2) // 2=已结束,3=取消,4=用户取消
+ if (reservation.status >= 3) // 3=已结束,4=取消
{
return new WebApiDto()
{
@@ -806,7 +823,7 @@ ISQRoomUnavailableTimesServices sQRoomUnavailableTimesServices
var updateResult = await _SQReservationsServices.UpdateAsync(
it => new SQReservations
{
- status = 3, // 用户取消
+ status = 4, // 用户取消
updated_at = DateTime.Now,
remarks = string.IsNullOrEmpty(dto.cancel_reason) ? "未支付鸽子费" : dto.cancel_reason
},
diff --git a/CoreCms.Net.Web.WebApi/appsettings.json b/CoreCms.Net.Web.WebApi/appsettings.json
index 23e424e..f99de77 100644
--- a/CoreCms.Net.Web.WebApi/appsettings.json
+++ b/CoreCms.Net.Web.WebApi/appsettings.json
@@ -11,8 +11,8 @@
//定时任务管理面板的账户密码
"HangFire": {
"RoutePrefix": "/job", //路由地址,默认'/job'
- "Login": "", //登录账号
- "PassWord": "", //登录密码
+ "Login": "job", //登录账号
+ "PassWord": "job", //登录密码
"JobExpirationTimeOut": "10080" //已经完成的任务过期时间,单位分钟(默认10080,7天时间)
},
//Swagger授权访问设置