mp 班期接口过滤过期 + 出发前1天自动报名结束(PR #999)
这个提交包含在:
父节点
6b2979e01c
当前提交
f0863e0267
@ -0,0 +1,25 @@
|
|||||||
|
# mp 班期接口过滤过期 + 出发前 1 天自动报名结束
|
||||||
|
|
||||||
|
**日期**: 2026-04-20
|
||||||
|
**PR**: #999
|
||||||
|
**接口**: `GET /mp/product/{id}/schedules`
|
||||||
|
|
||||||
|
## 改动
|
||||||
|
|
||||||
|
1. **过滤过期班期**:响应中不再包含 `departureDate < 今天` 的班期
|
||||||
|
2. **出发前 1 天自动报名结束**:保留班期中,若 `departureDate <= today + 1 天`(含当天和前一天),后端将 `batchStatus` 覆盖为 `"FINISHED"`
|
||||||
|
|
||||||
|
## 业务语义
|
||||||
|
- 出发前 1 天停止报名(行业通用规则)
|
||||||
|
- 避免前端展示已发团或即将发团(<1天)的班期为"可报名"状态
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
测试产品 `2044306857534636034`:
|
||||||
|
- DB 有 6 条班期(含 1 条 `2026-04-19` 已过期)
|
||||||
|
- 接口返 5 条,过期班期已过滤
|
||||||
|
- 其余班期 `departureDate=2026-07-xx` 距今 74+ 天,保持原状态 `ENROLLING`
|
||||||
|
|
||||||
|
## 前端注意
|
||||||
|
- 不再需要自己在列表上按 departureDate 过滤
|
||||||
|
- 判断"是否可报名"继续用 `batchStatus === 'ENROLLING'`(或 NEARLY_FULL),**无需再判日期**
|
||||||
|
- 5 分钟 Redis 缓存,部署后按 TTL 自然过期
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户