|
|
@@ -1,7 +1,7 @@
|
|
|
# Story 5.7: 订单信息查看(管理后台)
|
|
|
|
|
|
## Status
|
|
|
-Draft
|
|
|
+Approved
|
|
|
|
|
|
## Story
|
|
|
**As a** 系统管理员
|
|
|
@@ -15,8 +15,12 @@ Draft
|
|
|
4. 支持订单状态统计和报表
|
|
|
|
|
|
## Tasks / Subtasks
|
|
|
+- [ ] 创建订单相关基础文件 (前置任务)
|
|
|
+ - [ ] 创建订单实体 `packages/server/src/modules/orders/order.entity.ts`
|
|
|
+ - [ ] 创建订单Zod Schema `packages/server/src/modules/orders/order.schema.ts`
|
|
|
+ - [ ] 创建共享类型 `packages/server/src/share/order.types.ts`
|
|
|
+
|
|
|
- [ ] 创建管理后台订单API路由 (AC: 1, 2, 3, 4)
|
|
|
- - [ ] 创建 `packages/server/src/api/admin/orders/index.ts` API路由文件
|
|
|
- [ ] 使用通用CRUD规范创建管理后台订单API
|
|
|
- [ ] 实现订单列表查询(支持分页、搜索、状态筛选)
|
|
|
- [ ] 实现订单详情查询(包含关联的用户、路线、乘客信息)
|
|
|
@@ -45,7 +49,7 @@ Draft
|
|
|
## Dev Notes
|
|
|
|
|
|
### 数据模型设计
|
|
|
-基于 [docs/architecture/data-model-schema-changes.md#订单模型],订单实体已经存在,包含以下关键属性:
|
|
|
+基于 [docs/architecture/data-model-schema-changes.md#订单模型],需要创建订单实体,包含以下关键属性:
|
|
|
|
|
|
**订单实体关键属性** [Source: architecture/data-model-schema-changes.md#订单模型]:
|
|
|
- `id`: number - 主键标识符
|
|
|
@@ -81,7 +85,7 @@ export enum PaymentStatus {
|
|
|
```
|
|
|
|
|
|
### 通用CRUD规范要求
|
|
|
-基于 [docs/architecture/generic-crud-standards.md#使用指南],管理后台订单管理必须遵循通用CRUD规范:
|
|
|
+基于 [docs/architecture/generic-crud-standards.md#使用指南],管理后台订单管理必须遵循通用CRUD规范,需要创建以下文件:
|
|
|
|
|
|
**实体设计** [Source: architecture/generic-crud-standards.md#实体设计]:
|
|
|
- 使用TypeORM装饰器定义字段
|
|
|
@@ -112,7 +116,7 @@ export const orderRoutes = createCrudRoutes({
|
|
|
```
|
|
|
|
|
|
### 管理后台开发规范
|
|
|
-基于 [docs/architecture/admin-dashboard-standards.md#页面开发规范],订单管理页面必须遵循管理后台开发标准:
|
|
|
+基于 [docs/architecture/admin-dashboard-standards.md#页面开发规范],订单管理页面必须遵循管理后台开发标准,需要创建以下文件:
|
|
|
|
|
|
**页面结构标准** [Source: architecture/admin-dashboard-standards.md#页面结构标准]:
|
|
|
- 使用React + TypeScript + React Query技术栈
|
|
|
@@ -134,13 +138,13 @@ export const orderRoutes = createCrudRoutes({
|
|
|
|
|
|
**后端文件位置** [Source: architecture/source-tree.md#实际项目结构]:
|
|
|
- **API路由**: `packages/server/src/api/admin/orders/index.ts`
|
|
|
-- **实体定义**: `packages/server/src/modules/orders/order.entity.ts` (已存在)
|
|
|
-- **业务服务**: `packages/server/src/modules/orders/order.service.ts` (已存在)
|
|
|
-- **Zod Schema**: `packages/server/src/modules/orders/order.schema.ts` (已存在)
|
|
|
+- **实体定义**: `packages/server/src/modules/orders/order.entity.ts`
|
|
|
+- **业务服务**: `packages/server/src/modules/orders/order.service.ts`
|
|
|
+- **Zod Schema**: `packages/server/src/modules/orders/order.schema.ts`
|
|
|
|
|
|
**前端文件位置** [Source: architecture/source-tree.md#实际项目结构]:
|
|
|
- **管理后台页面**: `web/src/client/admin/pages/Orders.tsx`
|
|
|
-- **共享类型**: `packages/server/src/share/order.types.ts` (已存在)
|
|
|
+- **共享类型**: `packages/server/src/share/order.types.ts`
|
|
|
|
|
|
### 技术栈要求
|
|
|
基于 [docs/architecture/tech-stack.md#现有技术栈维护],必须使用项目标准技术栈:
|
|
|
@@ -158,7 +162,7 @@ export const orderRoutes = createCrudRoutes({
|
|
|
- **UI组件**: shadcn/ui
|
|
|
|
|
|
### 开发规范要求
|
|
|
-基于 [docs/architecture/coding-standards.md#通用crud开发规范],必须遵循编码标准:
|
|
|
+基于 [docs/architecture/coding-standards.md#通用crud开发规范],必须遵循编码标准创建以下文件:
|
|
|
|
|
|
**CRUD开发** [Source: architecture/coding-standards.md#通用crud开发规范]:
|
|
|
- 遵循通用CRUD规范进行开发
|
|
|
@@ -180,6 +184,7 @@ export const orderRoutes = createCrudRoutes({
|
|
|
- **主项目测试框架**: Vitest + Testing Library + hono/testing + Playwright
|
|
|
- **管理后台测试位置**: `web/tests/unit/client/admin/` 目录
|
|
|
- **覆盖率目标**: 核心业务逻辑 > 80%
|
|
|
+- **需要创建的测试文件**: 订单管理页面组件测试、订单API集成测试
|
|
|
|
|
|
**具体测试要求** [Source: architecture/testing-strategy.md#测试金字塔策略]:
|
|
|
- **管理后台订单API集成测试** (P1优先级)
|
|
|
@@ -204,6 +209,8 @@ export const orderRoutes = createCrudRoutes({
|
|
|
## Change Log
|
|
|
| Date | Version | Description | Author |
|
|
|
|------|---------|-------------|--------|
|
|
|
+| 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) |
|
|
|
|
|
|
## Dev Agent Record
|