# 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 自然过期
