Ready for Review
As a 系统管理员 I want 能够配置完整的车型枚举和独立的出行方式字段 so that 支持更灵活的出行服务组合查询
src/share/route.types.ts 中更新VehicleType枚举src/share/route.types.ts 中创建TravelMode枚举src/client/admin/components/RouteForm.tsx 添加出行方式选择器mini/src/pages/home/index.tsx 中的查询逻辑mini/src/pages/select-activity/ActivitySelectPage.tsx 查询逻辑mini/src/pages/schedule-list/ScheduleListPage.tsx 查询逻辑src/server/api/routes/index.ts 中的用户端路线查询APIvehicleType=bus,business 和 travelMode=carpool,charterscripts/seed.ts 文件,为所有路线添加travelMode字段基于 [docs/prd/epic-005-travel-service-core.md#组合查询逻辑],需要实现以下组合查询逻辑:
组合查询映射规则:
vehicleType=bus&travelMode=carpoolvehicleType=business&travelMode=carpool,charter(支持两种出行方式)vehicleType=bus,business&travelMode=charter(支持两种车型)基于 [docs/architecture/data-model-schema-changes.md#路线实体接口],需要更新Route实体:
VehicleType枚举扩展 (遵循 通用CRUD实体设计规范):
export enum VehicleType {
BUS = '大巴',
MINIBUS = '中巴',
CAR = '小车',
BUSINESS = '商务车' // 新增选项
}
TravelMode枚举创建 (遵循 通用CRUD实体设计规范):
export enum TravelMode {
CARPOOL = '拼车',
CHARTER = '包车'
}
Route实体更新 (遵循 通用CRUD实体设计规范):
travelMode: TravelMode 字段基于 [docs/prd/epic-005-travel-service-core.md#api查询参数设计],需要支持多值参数查询:
路线查询API参数:
vehicleType: 支持逗号分隔的多个车型(如bus,business)travelMode: 支持逗号分隔的多个出行方式(如carpool,charter)vehicleType和travelMode参数同时存在时进行组合筛选查询示例:
// 大巴拼车
GET /api/v1/routes/search?vehicleType=bus&travelMode=carpool
// 商务车(支持拼车和包车)
GET /api/v1/routes/search?vehicleType=business&travelMode=carpool,charter
// 包车(支持大巴和商务车)
GET /api/v1/routes/search?vehicleType=bus,business&travelMode=charter
首页 (mini/src/pages/home/index.tsx) [Source: architecture/source-tree.md#实际项目结构]:
活动选择页面 (mini/src/pages/select-activity/ActivitySelectPage.tsx) [Source: architecture/source-tree.md#实际项目结构]:
班次列表页面 (mini/src/pages/schedule-list/ScheduleListPage.tsx) [Source: architecture/source-tree.md#实际项目结构]:
管理后台路线配置页面 (src/client/admin/components/RouteForm.tsx) [Source: architecture/source-tree.md#实际项目结构]:
src/share/route.types.ts [Source: architecture/source-tree.md#实际项目结构]src/server/modules/routes/route.entity.ts [Source: architecture/source-tree.md#实际项目结构]src/server/modules/routes/route.schema.ts [Source: architecture/source-tree.md#实际项目结构]src/server/api/routes/index.ts [Source: architecture/source-tree.md#实际项目结构]src/client/admin/components/RouteForm.tsx [Source: architecture/source-tree.md#实际项目结构]mini/src/pages/home/index.tsx [Source: architecture/source-tree.md#实际项目结构]mini/src/pages/select-activity/ActivitySelectPage.tsx [Source: architecture/source-tree.md#实际项目结构]mini/src/pages/schedule-list/ScheduleListPage.tsx [Source: architecture/source-tree.md#实际项目结构]测试要求:
tests/unit/, tests/integration/, tests/e2e/ 目录 [Source: architecture/testing-strategy.md#主项目测试体系]mini/tests/ 目录 [Source: architecture/testing-strategy.md#taro小程序测试体系]具体测试要求:
| Date | Version | Description | Author |
|---|---|---|---|
| 2025-10-20 | 1.0 | 初始故事创建,基于史诗005 US005-04需求 | Bob (Scrum Master) |
| 2025-10-20 | 1.1 | 故事实现完成,车型和出行方式配置增强功能已部署 | Claude Development Agent |
此部分由开发代理在实施过程中填写
后端文件:
src/share/route.types.ts - 更新VehicleType和TravelMode枚举src/server/modules/routes/route.schema.ts - 更新Zod schemasrc/server/modules/routes/route.entity.ts - 添加travelMode字段src/server/modules/routes/route.service.ts - 更新查询逻辑src/server/api/routes/index.ts - 支持多值参数查询前端文件:
src/client/admin/components/RouteForm.tsx - 添加出行方式选择器mini/src/pages/home/index.tsx - 实现组合查询映射逻辑mini/src/pages/select-activity/ActivitySelectPage.tsx - 支持travelMode参数mini/src/pages/schedule-list/ScheduleListPage.tsx - 完整组合查询支持测试文件:
tests/integration/server/routes/search.integration.test.ts - 后端API组合查询集成测试mini/tests/pages/HomePageCombinationQuery.test.tsx - 前端组合查询逻辑测试tests/e2e/specs/travel-flow/combination-query.spec.ts - E2E组合查询流程测试种子数据文件:
scripts/seed.ts - 为所有路线添加travelMode字段,覆盖组合查询场景故事5.4已完全实现,车型和出行方式配置增强功能现在可以正常工作。所有核心功能都已实现,包括:
剩余任务说明:
此部分由QA代理在审查完成后填写