Jelajahi Sumber

📝 docs: 更新架构文档添加订单模块结构

- 添加订单管理模块包 (@d8d/orders-module) 到源码树文档
- 更新版本信息到3.5版本
- 在包架构层次中添加orders-module到业务模块层
- 更新订单模块故事文档中的测试任务状态

🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 bulan lalu
induk
melakukan
7fd14a6f1a
2 mengubah file dengan 81 tambahan dan 14 penghapusan
  1. 51 1
      docs/architecture/source-tree.md
  2. 30 13
      docs/stories/005.013.orders-module.story.md

+ 51 - 1
docs/architecture/source-tree.md

@@ -3,6 +3,7 @@
 ## 版本信息
 | 版本 | 日期 | 描述 | 作者 |
 |------|------|------|------|
+| 3.5 | 2025-11-12 | 添加订单管理模块包 (@d8d/orders-module) | James |
 | 3.4 | 2025-11-12 | 添加商品管理模块包 (@d8d/goods-module) | James |
 | 3.3 | 2025-11-12 | 补充新添加的业务模块包(广告、商户、供应商) | Winston |
 | 3.2 | 2025-11-11 | 更新包结构,添加基础设施和业务模块包 | Winston |
@@ -292,6 +293,55 @@ d8d-mini-starter/
 │       │   └── index.ts                        # 包入口
 │       ├── tests/
 │       └── package.json
+│   └── orders-module/          # 订单管理模块 (@d8d/orders-module)
+│       ├── src/
+│       │   ├── entities/
+│       │   │   ├── order.entity.ts             # 订单实体
+│       │   │   ├── order-goods.entity.ts       # 订单商品实体
+│       │   │   ├── order-refund.entity.ts      # 订单退款实体
+│       │   │   └── index.ts                    # 实体导出
+│       │   ├── services/
+│       │   │   ├── order.service.ts            # 订单服务
+│       │   │   ├── order-goods.service.ts      # 订单商品服务
+│       │   │   ├── order-refund.service.ts     # 订单退款服务
+│       │   │   ├── user-order-goods.service.ts # 用户订单商品服务
+│       │   │   ├── user-refunds.service.ts     # 用户退款服务
+│       │   │   └── index.ts                    # 服务导出
+│       │   ├── schemas/
+│       │   │   ├── create-order.schema.ts      # 创建订单Schema
+│       │   │   ├── order.schema.ts             # 订单Schema
+│       │   │   ├── user-order.schema.ts        # 用户订单Schema
+│       │   │   ├── order-goods.schema.ts       # 订单商品Schema
+│       │   │   ├── order-refund.schema.ts      # 订单退款Schema
+│       │   │   └── index.ts                    # Schema导出
+│       │   ├── types/
+│       │   │   ├── order.types.ts              # 订单类型定义
+│       │   │   └── index.ts                    # 类型导出
+│       │   ├── routes/
+│       │   │   ├── create-order.ts             # 创建订单路由
+│       │   │   ├── user/
+│       │   │   │   ├── orders.ts               # 用户订单路由
+│       │   │   │   ├── order-items.ts          # 用户订单商品路由
+│       │   │   │   └── refunds.ts              # 用户退款路由
+│       │   │   ├── admin/
+│       │   │   │   ├── orders.ts               # 管理员订单路由
+│       │   │   │   ├── order-items.ts          # 管理员订单商品路由
+│       │   │   │   └── refunds.ts              # 管理员退款路由
+│       │   │   └── index.ts                    # 路由导出
+│       │   └── index.ts                        # 包入口
+│       ├── tests/
+│       │   └── integration/
+│       │       ├── entity-configuration.integration.test.ts    # 实体配置集成测试
+│       │       ├── create-order.integration.test.ts            # 创建订单集成测试
+│       │       ├── user-orders.integration.test.ts             # 用户订单集成测试
+│       │       ├── user-order-items.integration.test.ts        # 用户订单商品集成测试
+│       │       ├── user-refunds.integration.test.ts            # 用户退款集成测试
+│       │       ├── admin-orders.integration.test.ts            # 管理员订单集成测试
+│       │       ├── admin-order-items.integration.test.ts       # 管理员订单商品集成测试
+│       │       ├── admin-refunds.integration.test.ts           # 管理员退款集成测试
+│       │       └── utils/
+│       │           └── test-data-factory.ts                    # 测试数据工厂
+│       └── package.json
 ├── web/                        # Web应用 (Hono + React SSR)
 │   ├── src/
 │   │   ├── client/             # 客户端代码
@@ -363,7 +413,7 @@ d8d-mini-starter/
 - **包架构层次**:
   - **基础设施层**: shared-types → shared-utils → shared-crud
   - **测试基础设施**: shared-test-util
-  - **业务模块层**: user-module → auth-module → file-module → delivery-address-module → advertisements-module → merchant-module → supplier-module → goods-module → geo-areas
+  - **业务模块层**: user-module → auth-module → file-module → delivery-address-module → advertisements-module → merchant-module → supplier-module → goods-module → geo-areas → orders-module
   - **应用层**: server (重构后)
 - **测试结构**:
   - **基础设施包**: 每个包独立的单元测试和集成测试

+ 30 - 13
docs/stories/005.013.orders-module.story.md

@@ -92,42 +92,42 @@ Draft
   - [x] 配置用户追踪字段
   - [x] 验证权限控制逻辑
 
-- [ ] Task 8: 创建测试套件 (AC: 7)
-  - [ ] 创建用户订单路由集成测试 packages/orders-module/tests/integration/user-orders.integration.test.ts
+- [x] Task 8: 创建测试套件 (AC: 7)
+  - [x] 创建用户订单路由集成测试 packages/orders-module/tests/integration/user-orders.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/user-goods-routes.integration.test.ts`
     - 测试用户订单路由只能访问和操作当前用户的数据
     - 验证用户创建订单时自动使用当前用户ID
     - 验证用户无法访问其他用户的订单
-  - [ ] 创建用户订单商品路由集成测试 packages/orders-module/tests/integration/user-order-items.integration.test.ts
+  - [x] 创建用户订单商品路由集成测试 packages/orders-module/tests/integration/user-order-items.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/user-goods-routes.integration.test.ts`
     - 测试用户只能查看自己订单的商品
     - 验证用户无法访问其他用户订单的商品
-  - [ ] 创建用户退款路由集成测试 packages/orders-module/tests/integration/user-refunds.integration.test.ts
+  - [x] 创建用户退款路由集成测试 packages/orders-module/tests/integration/user-refunds.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/user-goods-routes.integration.test.ts`
     - 测试用户只能申请自己订单的退款
     - 验证用户无法访问其他用户的退款记录
-  - [ ] 创建管理员订单路由集成测试 packages/orders-module/tests/integration/admin-orders.integration.test.ts
+  - [x] 创建管理员订单路由集成测试 packages/orders-module/tests/integration/admin-orders.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/admin-goods-routes.integration.test.ts`
     - 测试管理员可以访问所有用户的订单数据
     - 验证管理员可以为其他用户创建订单
     - 验证管理员可以更新和删除任何用户的订单
-  - [ ] 创建管理员订单商品路由集成测试 packages/orders-module/tests/integration/admin-order-items.integration.test.ts
+  - [x] 创建管理员订单商品路由集成测试 packages/orders-module/tests/integration/admin-order-items.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/admin-goods-routes.integration.test.ts`
     - 测试管理员可以访问所有订单的商品数据
     - 验证管理员可以管理任何订单的商品
-  - [ ] 创建管理员退款路由集成测试 packages/orders-module/tests/integration/admin-refunds.integration.test.ts
+  - [x] 创建管理员退款路由集成测试 packages/orders-module/tests/integration/admin-refunds.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/admin-goods-routes.integration.test.ts`
     - 测试管理员可以访问所有用户的退款记录
     - 验证管理员可以处理任何用户的退款申请
-  - [ ] 创建订单创建路由集成测试 packages/orders-module/tests/integration/create-order.integration.test.ts
+  - [x] 创建订单创建路由集成测试 packages/orders-module/tests/integration/create-order.integration.test.ts
     - **参考**: `packages/goods-module/tests/integration/admin-goods-routes.integration.test.ts`
     - 测试订单创建功能正常工作
     - 验证订单创建时自动注入当前用户ID
     - 测试订单创建的事务逻辑
-  - [ ] 配置测试数据库连接,使用 shared-test-util [Source: packages/shared-test-util/src/integration-test-db.ts#L1-L30]
-  - [ ] 添加订单状态管理测试场景
-  - [ ] 测试库存更新功能
-  - [ ] 确保测试覆盖率满足要求
+  - [x] 配置测试数据库连接,使用 shared-test-util [Source: packages/shared-test-util/src/integration-test-db.ts#L1-L30]
+  - [x] 添加订单状态管理测试场景
+  - [x] 测试库存更新功能
+  - [x] 确保测试覆盖率满足要求
 
 - [ ] Task 9: 集成到现有系统 (AC: 5, 6, 8)
   - [ ] 更新 server package 依赖,添加 @d8d/orders-module
@@ -318,7 +318,14 @@ Draft
 - ✅ 使用共享工具包 `@d8d/shared-utils` 的 `AppDataSource`
 - ✅ 使用共享类型包 `@d8d/shared-types` 的 `AuthContext`
 - ✅ 修复数据权限配置,使用正确的 `DataPermissionOptions` 格式
-- 🔄 剩余任务8-10:测试套件、系统集成、验证文档
+- ✅ 已完成任务8:创建完整的测试套件
+  - ✅ 创建了8个集成测试文件,77个测试用例
+  - ✅ 所有77个集成测试全部通过
+  - ✅ 创建了测试数据工厂 `OrdersTestDataFactory` 提高代码复用性
+  - ✅ 修复了Schema验证和关联数据问题
+  - ✅ 重构用户退款路由为自定义路由处理权限验证
+  - ✅ 重命名简单测试文件为 `entity-configuration.integration.test.ts`
+- 🔄 剩余任务9-10:系统集成、验证文档
 
 ### File List
 - packages/orders-module/package.json
@@ -338,6 +345,7 @@ Draft
 - packages/orders-module/src/services/order.service.ts
 - packages/orders-module/src/services/order-goods.service.ts
 - packages/orders-module/src/services/order-refund.service.ts
+- packages/orders-module/src/services/user-refunds.service.ts
 - packages/orders-module/src/routes/index.ts
 - packages/orders-module/src/routes/admin/orders.ts
 - packages/orders-module/src/routes/admin/order-items.ts
@@ -348,6 +356,15 @@ Draft
 - packages/orders-module/src/routes/create-order.ts
 - packages/orders-module/src/types/index.ts
 - packages/orders-module/src/types/order.types.ts
+- packages/orders-module/tests/integration/entity-configuration.integration.test.ts
+- packages/orders-module/tests/integration/create-order.integration.test.ts
+- packages/orders-module/tests/integration/user-orders.integration.test.ts
+- packages/orders-module/tests/integration/user-order-items.integration.test.ts
+- packages/orders-module/tests/integration/admin-orders.integration.test.ts
+- packages/orders-module/tests/integration/admin-order-items.integration.test.ts
+- packages/orders-module/tests/integration/user-refunds.integration.test.ts
+- packages/orders-module/tests/integration/admin-refunds.integration.test.ts
+- packages/orders-module/tests/utils/test-data-factory.ts
 
 ## QA Results