1.时间段预约逻辑错误

This commit is contained in:
zpc 2026-01-01 17:09:38 +08:00
parent 193b9a1e0f
commit 4b06e97df8
2 changed files with 32 additions and 4 deletions

View File

@ -2,8 +2,8 @@
## Bug统计
- **总数量**: 9个
- **已修复**: 2个 ✅
- **未修改**: 7
- **已修复**: 3个 ✅
- **未修改**: 6
- **分类**: 后端问题 6个前端问题 2个前后端问题 3个
---
@ -77,7 +77,7 @@
---
### cs120_1 - 时间段预约逻辑错误
**状态**: 未修改
**状态**: ✅ 已修复
**类型**: 后端
**优先级**: 高
@ -92,6 +92,22 @@
**解决方案**:
凌晨、上午已经被预约时,提交预约应直接提示用户该时间段已被预约,不允许创建。
**修复内容**:
1. **后端接口修改** (`server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs`)
- 在`CanCreateSQReservation`方法中添加时间验证
- 检查预约开始时间是否为过去时间
- 如果`start_time`小于等于当前时间,返回错误信息"不能预约过去的时间"
- 验证位置:在参数校验之后,时长验证之前
**修复逻辑**:
- 获取当前时间`DateTime.Now`
- 比较预约开始时间与当前时间
- 如果开始时间已过去,立即返回错误,阻止预约创建
- 确保用户无法创建过去时间的预约
**修复时间**: 2025-01-01
**测试状态**: 待测试
**涉及接口**:
- `CanCreateSQReservation` - 预约前校验
- `AddSQReservation` - 创建预约
@ -254,7 +270,7 @@
## 修复优先级建议
### 🔴 高优先级(影响核心功能)
- cs120_1 - 时间段预约逻辑错误
- cs120_1 - 时间段预约逻辑错误(已修复)
- cs120_2 - 开始时间选择无限制
- cs120_9 - 鸽子费审核功能缺失

View File

@ -754,6 +754,18 @@ public class SQController : ControllerBase
};
}
// 1.0 验证预约时间不能是过去的时间
var now = DateTime.Now;
if (start_time <= now)
{
return new WebApiDto()
{
Code = 500,
Data = new { canCreate = false },
Msg = "不能预约过去的时间"
};
}
// 1.1 验证预约时长最短1小时最长12小时
var duration = (end_time - start_time).TotalHours;
if (duration < 1)