|
|
@@ -1,7 +1,7 @@
|
|
|
# Story 007.005: 移植订单管理模块(order → @d8d/allin-order-module)
|
|
|
|
|
|
## Status
|
|
|
-Ready for Development
|
|
|
+Completed
|
|
|
|
|
|
## Story
|
|
|
**As a** 开发者,
|
|
|
@@ -25,21 +25,22 @@ Ready for Development
|
|
|
## Tasks / Subtasks
|
|
|
|
|
|
### 1. 创建包结构和配置文件 (AC: 1)
|
|
|
-- [ ] 创建目录:`allin-packages/order-module/`
|
|
|
-- [ ] 初始化package.json:参考`allin-packages/salary-module/package.json`
|
|
|
+- [x] 创建目录:`allin-packages/order-module/`
|
|
|
+- [x] 初始化package.json:参考`allin-packages/salary-module/package.json`
|
|
|
- **参考文件**: `allin-packages/salary-module/package.json`
|
|
|
- **修改点**: 包名改为`@d8d/allin-order-module`,添加对`@d8d/file-module`和`@d8d/allin-enums`的依赖
|
|
|
- **关键依赖**: `@d8d/file-module`, `@d8d/allin-enums`, `@d8d/core-module`, `@d8d/shared-crud`, `@d8d/shared-utils`
|
|
|
- **注意吸取经验**: 根据故事007.006的经验,需要在`pnpm-workspace.yaml`中添加`allin-packages/*`配置
|
|
|
-- [ ] 配置tsconfig.json:参考`allin-packages/salary-module/tsconfig.json`
|
|
|
+- [x] 配置tsconfig.json:参考`allin-packages/salary-module/tsconfig.json`
|
|
|
- **参考文件**: `allin-packages/salary-module/tsconfig.json`
|
|
|
-- [ ] 配置vitest.config.ts:参考`allin-packages/salary-module/vitest.config.ts`
|
|
|
+- [x] 配置vitest.config.ts:参考`allin-packages/salary-module/vitest.config.ts`
|
|
|
- **参考文件**: `allin-packages/salary-module/vitest.config.ts`
|
|
|
-- [ ] 配置workspace:在根目录`pnpm-workspace.yaml`中添加`allin-packages/order-module`
|
|
|
+- [x] 配置workspace:在根目录`pnpm-workspace.yaml`中添加`allin-packages/order-module`
|
|
|
- **修改文件**: `/mnt/code/188-179-template-6/pnpm-workspace.yaml`
|
|
|
- **添加内容**: `'allin-packages/order-module'`
|
|
|
|
|
|
### 2. 迁移实体文件 (AC: 2, 3, 4)
|
|
|
+✅ **已完成**
|
|
|
|
|
|
#### 2.1 迁移EmploymentOrder实体
|
|
|
**源文件路径**: `allin_system-master/server/src/order/employment_order.entity.ts`
|
|
|
@@ -90,6 +91,8 @@ Ready for Development
|
|
|
8. 保持数据库表名不变:`@Entity('order_person_asset')`
|
|
|
|
|
|
### 3. 创建DTO和Schema文件 (AC: 8)
|
|
|
+✅ **已完成**
|
|
|
+
|
|
|
**目标文件路径**:
|
|
|
- `allin-packages/order-module/src/dto/create-order.dto.ts`
|
|
|
- `allin-packages/order-module/src/dto/update-order.dto.ts`
|
|
|
@@ -110,6 +113,7 @@ Ready for Development
|
|
|
4. 保持与原始API相同的字段名和验证规则
|
|
|
|
|
|
### 4. 迁移控制器和服务 (AC: 6, 7)
|
|
|
+✅ **已完成**
|
|
|
|
|
|
#### 4.1 迁移OrderService
|
|
|
**源文件路径**: `allin_system-master/server/src/order/order.service.ts`
|
|
|
@@ -140,6 +144,8 @@ Ready for Development
|
|
|
5. 配置OpenAPI文档
|
|
|
|
|
|
### 5. 创建模块主文件 (AC: 1)
|
|
|
+✅ **已完成**
|
|
|
+
|
|
|
**目标文件路径**:
|
|
|
- `allin-packages/order-module/src/index.ts`
|
|
|
- `allin-packages/order-module/src/order.module.ts`
|
|
|
@@ -149,6 +155,8 @@ Ready for Development
|
|
|
- `allin-packages/salary-module/src/salary.module.ts`(模块定义)
|
|
|
|
|
|
### 6. 创建测试文件 (AC: 10)
|
|
|
+✅ **已完成**
|
|
|
+
|
|
|
**目标文件路径**:
|
|
|
- `allin-packages/order-module/tests/unit/order.controller.test.ts`
|
|
|
- `allin-packages/order-module/tests/unit/order.service.test.ts`
|
|
|
@@ -166,6 +174,8 @@ Ready for Development
|
|
|
4. **API兼容性测试**: 验证与原始NestJS API的兼容性
|
|
|
|
|
|
### 7. 处理循环依赖 (AC: 5)
|
|
|
+✅ **已完成**
|
|
|
+
|
|
|
**问题**: 订单模块与disability-module存在相互引用
|
|
|
**源文件分析**:
|
|
|
- 订单模块引用: `DisabledPerson`实体
|
|
|
@@ -185,11 +195,12 @@ Ready for Development
|
|
|
5. 更新残疾人管理模块,移除对订单实体的直接引用
|
|
|
|
|
|
### 8. 集成测试和验证 (AC: 11, 12)
|
|
|
-- [ ] 运行单元测试:`pnpm test`
|
|
|
-- [ ] 运行集成测试:`pnpm test:integration`
|
|
|
-- [ ] 类型检查:`pnpm typecheck`
|
|
|
-- [ ] 构建验证:`pnpm build`
|
|
|
-- [ ] 循环依赖验证:检查模块间导入关系
|
|
|
+✅ **已完成**
|
|
|
+- [x] 运行单元测试:`pnpm test`
|
|
|
+- [x] 运行集成测试:`pnpm test:integration`
|
|
|
+- [x] 类型检查:`pnpm typecheck`
|
|
|
+- [x] 构建验证:`pnpm build`
|
|
|
+- [x] 循环依赖验证:检查模块间导入关系
|
|
|
|
|
|
## Dev Notes
|
|
|
|
|
|
@@ -400,16 +411,16 @@ Ready for Development
|
|
|
6. **API兼容性测试**:验证与原始NestJS API的兼容性
|
|
|
|
|
|
## Definition of Done
|
|
|
-- [ ] 所有实体成功迁移并转换为TypeORM + Zod
|
|
|
-- [ ] 完整的CRUD API端点可用
|
|
|
-- [ ] 集成@d8d/allin-enums包中的枚举
|
|
|
-- [ ] 集成@d8d/file-module包,正确处理文件关联
|
|
|
-- [ ] 解决与disability-module的循环依赖
|
|
|
-- [ ] 所有测试通过(单元测试、集成测试)
|
|
|
-- [ ] 类型检查通过
|
|
|
-- [ ] 构建成功
|
|
|
-- [ ] 代码符合项目代码规范
|
|
|
-- [ ] 文档完整(README、API文档)
|
|
|
+- [x] 所有实体成功迁移并转换为TypeORM + Zod
|
|
|
+- [x] 完整的CRUD API端点可用
|
|
|
+- [x] 集成@d8d/allin-enums包中的枚举
|
|
|
+- [x] 集成@d8d/file-module包,正确处理文件关联
|
|
|
+- [x] 解决与disability-module的循环依赖
|
|
|
+- [x] 所有测试通过(单元测试、集成测试)
|
|
|
+- [x] 类型检查通过
|
|
|
+- [x] 构建成功
|
|
|
+- [x] 代码符合项目代码规范
|
|
|
+- [x] 文档完整(README、API文档)
|
|
|
|
|
|
## 实施建议(基于007.004和007.007经验)
|
|
|
|