Approved
As a 系统管理员 I want 能够查看所有订单信息和状态 so that 监控订单流程和处理异常订单
[x] 创建订单相关基础文件 (前置任务)
packages/server/src/modules/orders/order.entity.tspackages/server/src/modules/orders/order.schema.tspackages/server/src/share/order.types.ts[x] 创建管理后台订单API路由 (AC: 1, 2, 3, 4)
[x] 编写管理后台订单API集成测试 (AC: 1, 2, 3, 4)
[ ] 创建管理后台订单管理页面 (AC: 1, 2, 3, 4)
web/src/client/admin/pages/Orders.tsx 页面组件[ ] 集成订单页面到管理后台路由 (AC: 1)
[ ] 编写订单管理页面组件测试 (AC: 1, 2, 3, 4)
基于 [docs/architecture/data-model-schema-changes.md#订单模型],需要创建订单实体,包含以下关键属性:
订单实体关键属性 [Source: architecture/data-model-schema-changes.md#订单模型]:
id: number - 主键标识符userId: number - 用户IDrouteId: number - 路线IDpassengerCount: number - 乘客数量totalAmount: number - 订单总金额status: string - 订单状态(待支付、待出发、行程中、已完成、已取消)paymentStatus: string - 支付状态passengerSnapshots: JSON - 乘客信息快照数组(下单时的多个乘客信息)routeSnapshot: JSON - 路线信息快照(下单时的路线信息)createdAt: Date - 创建时间订单状态枚举定义 [Source: architecture/data-model-schema-changes.md#枚举定义]:
export enum OrderStatus {
PENDING_PAYMENT = '待支付',
WAITING_DEPARTURE = '待出发',
IN_PROGRESS = '行程中',
COMPLETED = '已完成',
CANCELLED = '已取消'
}
支付状态枚举定义 [Source: architecture/data-model-schema-changes.md#枚举定义]:
export enum PaymentStatus {
PENDING = '待支付',
PAID = '已支付',
FAILED = '支付失败',
REFUNDED = '已退款'
}
基于 [docs/architecture/generic-crud-standards.md#使用指南],管理后台订单管理必须遵循通用CRUD规范,需要创建以下文件:
基于 [docs/architecture/non-generic-crud-standards.md#统计查询路由],订单状态统计API必须遵循非通用CRUD路由规范,需要创建以下文件:
统计查询路由规范 [Source: architecture/non-generic-crud-standards.md#统计查询路由]:
GET 方法,路径为 /stats统计路由代码模板 [Source: architecture/non-generic-crud-standards.md#代码模板]:
// 统计路由定义
const statsRoute = createRoute({
method: 'get',
path: '/',
middleware: [authMiddleware, adminMiddleware],
responses: {
200: {
description: '成功获取统计信息',
content: {
'application/json': {
schema: OrderStatsSchema
}
}
},
401: { description: '未授权' },
403: { description: '权限不足' },
500: { description: '服务器错误' }
}
});
实体设计 [Source: architecture/generic-crud-standards.md#实体设计]:
comment 配置,说明字段用途createdAt 和 updatedAt 时间戳Schema设计 [Source: architecture/generic-crud-standards.md#schema设计]:
.optional() 和 .nullable() 明确字段可选性CRUD路由注册 [Source: architecture/generic-crud-standards.md#注册crud路由]:
export const orderRoutes = createCrudRoutes({
entity: Order,
createSchema: OrderCreateSchema,
updateSchema: OrderUpdateSchema,
getSchema: OrderGetSchema,
listSchema: OrderListSchema,
searchFields: ['id', 'user.username'],
relations: ['user', 'route', 'passengers'],
middleware: [authMiddleware, adminMiddleware],
userTracking: {
createdByField: 'createdBy',
updatedByField: 'updatedBy'
}
});
基于 [docs/architecture/admin-dashboard-standards.md#页面开发规范],订单管理页面必须遵循管理后台开发标准,需要创建以下文件:
页面结构标准 [Source: architecture/admin-dashboard-standards.md#页面结构标准]:
数据表格规范 [Source: architecture/admin-dashboard-standards.md#数据表格规范]:
RPC Client使用规范 [Source: architecture/admin-dashboard-standards.md#rpc-client-使用规范]:
基于 [docs/architecture/source-tree.md#实际项目结构],所有订单相关文件必须放置在指定位置:
后端文件位置 [Source: architecture/source-tree.md#实际项目结构]:
packages/server/src/api/admin/orders/index.tspackages/server/src/modules/orders/order.entity.tspackages/server/src/modules/orders/order.service.tspackages/server/src/modules/orders/order.schema.ts前端文件位置 [Source: architecture/source-tree.md#实际项目结构]:
web/src/client/admin/pages/Orders.tsxpackages/server/src/share/order.types.ts基于 [docs/architecture/tech-stack.md#现有技术栈维护],必须使用项目标准技术栈:
后端框架 [Source: architecture/tech-stack.md#现有技术栈维护]:
前端框架 [Source: architecture/tech-stack.md#现有技术栈维护]:
基于 [docs/architecture/coding-standards.md#通用crud开发规范],必须遵循编码标准创建以下文件:
CRUD开发 [Source: architecture/coding-standards.md#通用crud开发规范]:
comment 配置createCrudRoutes 自动生成API路由非通用CRUD路由开发 [Source: architecture/coding-standards.md#非通用crud路由开发规范]:
管理后台开发 [Source: architecture/coding-standards.md#管理后台开发规范]:
测试要求 [Source: architecture/testing-strategy.md#主项目测试体系]:
web/tests/unit/, web/tests/integration/, web/tests/e2e/ 目录web/tests/unit/client/admin/ 目录具体测试要求 [Source: architecture/testing-strategy.md#测试金字塔策略]:
| Date | Version | Description | Author |
|---|---|---|---|
| 2025-10-23 | 1.4 | 完成订单API集成测试编写和修复,所有测试通过 | James (Developer) |
| 2025-10-23 | 1.3 | 添加非通用CRUD路由规范引用,更新API开发标准 | Winston (Architect) |
| 2025-10-23 | 1.2 | 更新故事状态为Approved,准备实施 | Sarah (PO) |
| 2025-10-23 | 1.1 | 修正文件存在性错误,添加基础文件创建任务 | Sarah (PO) |
| 2025-10-23 | 1.0 | 初始故事创建,基于史诗005 US005-07需求 | Bob (Scrum Master) |
此部分由开发代理在实施过程中填写
此部分由QA代理在审查完成后填写