|
|
@@ -3,6 +3,7 @@
|
|
|
## 版本信息
|
|
|
| 版本 | 日期 | 描述 | 作者 |
|
|
|
|------|------|------|------|
|
|
|
+| 2.1 | 2025-10-20 | 添加车型和路线配置增强故事US005-04,顺延原有故事编号 | John (PM) |
|
|
|
| 2.0 | 2025-10-19 | 添加样式迁移合规性修复故事US005-03,顺延原有故事编号 | John (PM) |
|
|
|
| 1.9 | 2025-10-17 | 添加省市区实体设计方案,支持标准化行政区划数据管理 | John (PM) |
|
|
|
| 1.8 | 2025-10-17 | 采用地点实体方案,统一管理地点信息,支持省市区查询 | John (PM) |
|
|
|
@@ -96,7 +97,81 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
- [ ] 验证班次列表页面样式(包车卡片、预订按钮、排序工具栏)
|
|
|
- [ ] 编写样式合规性测试
|
|
|
|
|
|
-### US005-04: 乘客信息查看(管理后台)
|
|
|
+### US005-04: 车型和出行方式配置增强
|
|
|
+**作为** 系统管理员
|
|
|
+**我希望** 能够配置完整的车型枚举和独立的出行方式字段
|
|
|
+**以便** 支持更灵活的出行服务组合查询
|
|
|
+
|
|
|
+**组合查询逻辑**:
|
|
|
+- **大巴拼车** → 大巴 + 拼车
|
|
|
+- **商务车** → 商务车 + 拼车/包车
|
|
|
+- **包车** → 大巴/商务车 + 包车
|
|
|
+
|
|
|
+**具体实现要求**:
|
|
|
+- **首页**:保持现有三种查询选项,但查询逻辑需要调整为组合查询
|
|
|
+- **活动选择页面**:根据组合查询条件筛选相关活动
|
|
|
+- **班次列表页面**:根据组合查询条件显示匹配的路线
|
|
|
+- **API查询**:支持根据车型和出行方式的组合条件进行筛选
|
|
|
+
|
|
|
+**组合查询API参数映射**:
|
|
|
+- **大巴拼车**:`vehicleType=bus&travelMode=carpool`
|
|
|
+- **商务车**:`vehicleType=business&travelMode=carpool,charter`(支持两种出行方式)
|
|
|
+- **包车**:`vehicleType=bus,business&travelMode=charter`(支持两种车型)
|
|
|
+
|
|
|
+**验收标准**:
|
|
|
+- [ ] 车型枚举包含完整选项:大巴、中巴、小车、商务车
|
|
|
+- [ ] 路线配置支持独立的出行方式选择(拼车/包车)
|
|
|
+- [ ] 支持组合查询逻辑:大巴拼车、商务车、包车三种查询方式
|
|
|
+- [ ] 不同组合支持不同的价格策略和座位配置
|
|
|
+- [ ] 前端页面正确显示组合查询选项
|
|
|
+- [ ] 小程序和管理后台界面支持组合查询方式
|
|
|
+- [ ] 查询API支持组合查询逻辑
|
|
|
+- [ ] 活动选择页面支持组合查询逻辑
|
|
|
+- [ ] 班次列表页面正确显示组合查询结果
|
|
|
+
|
|
|
+**技术实现任务**:
|
|
|
+- [ ] 更新VehicleType枚举,添加商务车选项
|
|
|
+- [ ] 创建TravelMode枚举,定义拼车和包车出行方式
|
|
|
+- [ ] 在路线实体中添加travelMode字段
|
|
|
+- [ ] 更新管理后台路线配置页面,支持车型和出行方式独立选择
|
|
|
+- [ ] 更新小程序首页出行方式选择器的查询逻辑,支持组合查询
|
|
|
+- [ ] 更新活动选择页面查询逻辑,支持组合查询
|
|
|
+- [ ] 更新班次列表页面查询逻辑,支持组合查询
|
|
|
+- [ ] 更新班次列表页面显示逻辑,正确显示车型和出行方式的组合信息
|
|
|
+- [ ] 更新路线查询API,支持组合查询逻辑
|
|
|
+- [ ] 更新订单详情页面,显示完整的车型和出行方式信息
|
|
|
+- [ ] 验证前端页面正确显示组合查询选项
|
|
|
+
|
|
|
+**查询逻辑实现细节**:
|
|
|
+- **首页查询逻辑**:将三种组合选项映射为对应的API查询参数
|
|
|
+- **活动选择页面查询逻辑**:根据组合条件查询关联的活动,支持多条件筛选
|
|
|
+- **班次列表页面查询逻辑**:根据组合条件查询匹配的路线,支持车型和出行方式的组合筛选
|
|
|
+- **API查询逻辑**:支持多值参数查询,如`vehicleType=bus,business`和`travelMode=carpool,charter`
|
|
|
+
|
|
|
+**界面修改任务**:
|
|
|
+- [ ] **管理后台路线配置页面**:添加出行方式选择器,与车型选择器并列
|
|
|
+- [ ] **小程序首页**:保持现有组合查询选项显示,更新查询逻辑
|
|
|
+- [ ] **班次列表页面**:更新路线卡片,同时显示车型和出行方式
|
|
|
+- [ ] **订单详情页面**:更新订单信息显示,包含车型和出行方式
|
|
|
+
|
|
|
+**API修改任务**:
|
|
|
+- [ ] 更新路线创建和更新API,支持travelMode字段
|
|
|
+- [ ] 更新路线查询API,支持组合查询逻辑
|
|
|
+- [ ] 更新路线列表API响应,包含travelMode字段
|
|
|
+- [ ] 更新活动查询API,支持组合查询逻辑
|
|
|
+- [ ] 更新订单相关API,确保travelMode信息正确传递
|
|
|
+- [ ] 更新管理后台路线管理API,支持车型和出行方式筛选
|
|
|
+
|
|
|
+**API查询参数设计**:
|
|
|
+- **路线查询API**:支持多值参数
|
|
|
+ - `vehicleType`: 支持逗号分隔的多个车型(如`bus,business`)
|
|
|
+ - `travelMode`: 支持逗号分隔的多个出行方式(如`carpool,charter`)
|
|
|
+ - 组合查询逻辑:`vehicleType`和`travelMode`参数同时存在时进行组合筛选
|
|
|
+- **活动查询API**:根据路线组合条件查询关联的活动
|
|
|
+ - 支持通过路线查询参数间接筛选活动
|
|
|
+ - 返回去重后的活动列表
|
|
|
+
|
|
|
+### US005-05: 乘客信息查看(管理后台)
|
|
|
**作为** 系统管理员
|
|
|
**我希望** 能够查看所有用户的乘客信息
|
|
|
**以便** 了解用户乘车人情况和进行数据统计
|
|
|
@@ -110,7 +185,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
**管理后台页面任务**:
|
|
|
- [ ] 乘客信息管理页面 - 查看所有乘客信息
|
|
|
|
|
|
-### US005-05: 乘客信息管理
|
|
|
+### US005-06: 乘客信息管理
|
|
|
**作为** 出行用户
|
|
|
**我希望** 能够管理我的乘客信息
|
|
|
**以便** 快速选择乘车人
|
|
|
@@ -124,7 +199,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
**页面迁移任务**:
|
|
|
- [ ] 迁移添加乘客页面 (add-passenger/add-passenger) - 乘客信息管理页面
|
|
|
|
|
|
-### US005-06: 订单信息查看(管理后台)
|
|
|
+### US005-07: 订单信息查看(管理后台)
|
|
|
**作为** 系统管理员
|
|
|
**我希望** 能够查看所有订单信息和状态
|
|
|
**以便** 监控订单流程和处理异常订单
|
|
|
@@ -138,7 +213,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
**管理后台页面任务**:
|
|
|
- [ ] 订单管理页面 - 查看所有订单信息
|
|
|
|
|
|
-### US005-07: 订单创建和支付
|
|
|
+### US005-08: 订单创建和支付
|
|
|
**作为** 出行用户
|
|
|
**我希望** 能够创建订单并完成支付
|
|
|
**以便** 确认出行安排
|
|
|
@@ -155,7 +230,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
- [ ] 迁移支付成功页面 (pay-success/pay-success) - 支付结果页面
|
|
|
|
|
|
|
|
|
-### US005-08: 订单状态管理
|
|
|
+### US005-09: 订单状态管理
|
|
|
**作为** 出行用户
|
|
|
**我希望** 能够查看和管理我的订单状态
|
|
|
**以便** 了解出行安排进度
|
|
|
@@ -171,7 +246,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
- [ ] 迁移订单详情页面 (order-detail/order-detail) - 订单详情查看页面
|
|
|
|
|
|
|
|
|
-### US005-09: 个人中心管理
|
|
|
+### US005-10: 个人中心管理
|
|
|
**作为** 出行用户
|
|
|
**我希望** 能够查看和管理我的个人信息和出行记录
|
|
|
**以便** 方便地管理我的出行服务
|
|
|
@@ -185,7 +260,7 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
**页面迁移任务**:
|
|
|
- [ ] 迁移我的页面 (mine/mine) - 个人中心入口页面
|
|
|
|
|
|
-### US005-10: 支付集成
|
|
|
+### US005-11: 支付集成
|
|
|
**作为** 系统
|
|
|
**我希望** 集成微信支付功能
|
|
|
**以便** 支持用户完成订单支付
|
|
|
@@ -246,6 +321,8 @@ mini-demo包含14个页面,Epic 005将页面迁移作为用户故事的具体
|
|
|
├── 目的地 (endLocation) → 关联Location
|
|
|
├── 上车点 (pickupPoint)
|
|
|
├── 下车点 (dropoffPoint)
|
|
|
+├── 车型 (vehicleType) → VehicleType枚举(大巴/中巴/小车/商务车)
|
|
|
+├── 出行方式 (travelMode) → TravelMode枚举(拼车/包车)
|
|
|
├── 关联活动 (activity)
|
|
|
└── 其他信息...
|
|
|
```
|
|
|
@@ -335,22 +412,27 @@ GET /api/v1/locations?provinceId=1&cityId=34&districtId=36
|
|
|
- 通过地点关联查询路线
|
|
|
- 路线类型动态判断:目的地=活动地点为去程,出发地=活动地点为返程
|
|
|
- 支持按省市区范围查询路线
|
|
|
+- **组合查询支持**:支持车型和出行方式的组合筛选
|
|
|
+ - 大巴拼车:`vehicleType=bus&travelMode=carpool`
|
|
|
+ - 商务车:`vehicleType=business&travelMode=carpool,charter`
|
|
|
+ - 包车:`vehicleType=bus,business&travelMode=charter`
|
|
|
|
|
|
**活动查询**:
|
|
|
- 通过路线间接查询关联的活动
|
|
|
- 用户选择出发地、目的地、日期时,系统:
|
|
|
1. 查询匹配的地点
|
|
|
- 2. 通过地点找到关联的路线
|
|
|
+ 2. 通过地点找到关联的路线(支持组合查询条件)
|
|
|
3. 根据路线找到关联的活动
|
|
|
4. 展示去重后的活动列表
|
|
|
+- **组合查询支持**:活动查询基于路线组合条件进行筛选
|
|
|
|
|
|
**API设计示例**:
|
|
|
```typescript
|
|
|
// 查询地点(支持省市区筛选)
|
|
|
GET /api/v1/locations?province=北京市&city=北京市&name=工人体育场
|
|
|
|
|
|
-// 查询路线(通过地点ID查询)
|
|
|
-GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=departure
|
|
|
+// 查询路线(支持组合查询)
|
|
|
+GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=departure&vehicleType=bus,business&travelMode=carpool,charter
|
|
|
|
|
|
// 响应:路线列表,包含完整的地点信息和活动信息
|
|
|
{
|
|
|
@@ -371,6 +453,8 @@ GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=de
|
|
|
city: "北京市",
|
|
|
district: "朝阳区"
|
|
|
},
|
|
|
+ vehicleType: "bus",
|
|
|
+ travelMode: "carpool",
|
|
|
activity: {
|
|
|
id: 1,
|
|
|
name: "中超联赛北京国安主场赛事",
|
|
|
@@ -407,6 +491,10 @@ GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=de
|
|
|
**用户端API**:
|
|
|
- `GET /api/v1/locations` - 地点查询(支持省份、城市、区县、名称等参数)
|
|
|
- `GET /api/v1/routes` - 路线查询(支持出发地、目的地、日期、类型等参数,返回包含活动信息的路线列表)
|
|
|
+ - **组合查询参数**:
|
|
|
+ - `vehicleType`:车型筛选,支持多值(如`bus,business`)
|
|
|
+ - `travelMode`:出行方式筛选,支持多值(如`carpool,charter`)
|
|
|
+ - 支持三种组合查询模式:大巴拼车、商务车、包车
|
|
|
- `GET /api/v1/activities` - 活动列表查询(基础信息查询)
|
|
|
- `POST /api/v1/orders` - 创建订单
|
|
|
- `GET /api/v1/orders` - 订单列表
|
|
|
@@ -422,12 +510,13 @@ GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=de
|
|
|
- **US005-01**: 活动管理页面、路线管理页面、班次管理页面(管理后台)
|
|
|
- **US005-02**: 首页、活动选择、班次列表页面
|
|
|
- **US005-03**: 样式迁移合规性修复(所有迁移页面)
|
|
|
-- **US005-04**: 乘客信息管理页面(管理后台)
|
|
|
-- **US005-05**: 添加乘客页面
|
|
|
-- **US005-06**: 订单管理页面(管理后台)
|
|
|
-- **US005-07**: 下单页面、支付成功页面
|
|
|
-- **US005-08**: 订单列表、订单详情页面
|
|
|
-- **US005-09**: 我的页面
|
|
|
+- **US005-04**: 车型和出行方式配置增强(管理后台路线配置页面、小程序首页、班次列表页面、订单详情页面)
|
|
|
+- **US005-05**: 乘客信息管理页面(管理后台)
|
|
|
+- **US005-06**: 添加乘客页面
|
|
|
+- **US005-07**: 订单管理页面(管理后台)
|
|
|
+- **US005-08**: 下单页面、支付成功页面
|
|
|
+- **US005-09**: 订单列表、订单详情页面
|
|
|
+- **US005-10**: 我的页面
|
|
|
|
|
|
## 依赖关系
|
|
|
|
|
|
@@ -498,5 +587,5 @@ GET /api/v1/routes?startLocationId=123&endLocationId=456&date=2025-10-15&type=de
|
|
|
---
|
|
|
|
|
|
**文档状态**: 已更新
|
|
|
-**最后更新**: 2025-10-19
|
|
|
-**下次评审**: 2025-10-26
|
|
|
+**最后更新**: 2025-10-20
|
|
|
+**下次评审**: 2025-10-27
|