Draft
As a 小程序开发者, I want 将订单管理模块从 packages/server/src 拆分到主项目的 packages 目录下作为独立 package, so that 项目可以按需引入订单、订单商品和退款管理功能,保持模块独立性和向后兼容性
@d8d/orders-module package,包含完整的订单、订单商品和退款管理功能[x] Task 1: 创建 orders-module package 基础结构 (AC: 1)
[x] Task 2: 迁移订单实体和类型定义 (AC: 2, 4)
[x] Task 3: 迁移订单服务 (AC: 2, 3)
[x] Task 4: 创建管理员路由 (AC: 3, 4)
packages/orders-module/src/routes/admin/packages/orders-module/src/routes/admin/orders.tspackages/server/src/api/orders/index.tspackages/orders-module/src/routes/admin/order-items.tspackages/server/src/api/orders-goods/index.tspackages/orders-module/src/routes/admin/refunds.tspackages/server/src/api/orders-refund/index.ts[x] Task 5: 创建用户路由 (AC: 3, 4, 6)
packages/orders-module/src/routes/user/packages/orders-module/src/routes/user/orders.tspackages/server/src/api/orders/index.ts{ enabled: true, userIdField: 'userId' }packages/orders-module/src/routes/user/order-items.tspackages/server/src/api/orders-goods/index.ts{ enabled: true, userIdField: 'order.userId' }packages/orders-module/src/routes/user/refunds.tspackages/server/src/api/orders-refund/index.ts{ enabled: true, userIdField: 'order.userId' }[x] Task 6: 创建订单创建专用路由 (AC: 3, 4)
packages/orders-module/src/routes/create-order.tspackages/server/src/api/orders/create-order.ts[x] Task 7: 创建统一路由导出 (AC: 3, 4, 6)
packages/orders-module/src/routes/index.ts/admin/*/user/*/create-order[x] Task 8: 创建测试套件 (AC: 7)
packages/goods-module/tests/integration/user-goods-routes.integration.test.tspackages/goods-module/tests/integration/user-goods-routes.integration.test.tspackages/goods-module/tests/integration/user-goods-routes.integration.test.tspackages/goods-module/tests/integration/admin-goods-routes.integration.test.tspackages/goods-module/tests/integration/admin-goods-routes.integration.test.tspackages/goods-module/tests/integration/admin-goods-routes.integration.test.tspackages/goods-module/tests/integration/admin-goods-routes.integration.test.ts[ ] Task 9: 集成到现有系统 (AC: 5, 6, 8)
[ ] Task 10: 验证和文档 (AC: 4, 6)
packages/orders-module/ [Source: architecture/source-tree.md#实际项目结构]Order 实体关键字段:
orderNo: 订单号 (varchar(50), unique)userId: 用户ID (int, unsigned)amount: 订单金额 (decimal(10,2), default: 0.00)costAmount: 成本金额 (decimal(10,2), default: 0.00)payAmount: 实际支付金额 (decimal(10,2), default: 0.00)orderType: 订单类型 (int, default: 1, 1实物订单 2虚拟订单)payType: 支付类型 (int, default: 0, 1积分2礼券)payState: 支付状态 (int, default: 0, 0未支付1支付中2支付成功3已退款4支付失败5订单关闭)state: 订单状态 (int, default: 0, 0未发货1已发货2收货成功3已退货)createdBy: 创建用户ID (int, nullable)updatedBy: 更新用户ID (int, nullable)OrderGoods 实体关键字段:
orderId: 订单ID (int, unsigned)goodsId: 商品ID (int, unsigned)goodsName: 商品名称 (varchar(255), nullable)price: 售价 (decimal(10,2), default: 0.00)num: 数量 (int, default: 0)state: 状态 (int, default: 0, 0未发货1已发货)OrderRefund 实体关键字段:
orderNo: 订单号 (varchar(32), nullable)refundOrderNo: 退款订单号 (varchar(32), nullable)refundAmount: 退款金额 (decimal(10,2), nullable)state: 状态 (int, default: 0, 0未退款1退款中2退款成功3退款失败)@d8d/shared-types - 基础类型定义 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L269-L276]@d8d/shared-utils - 工具函数 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L280-L291]@d8d/shared-crud - CRUD基础设施 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L266-L278]@d8d/user-module - 用户管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L321-L334]@d8d/auth-module - 认证管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L337-L350]@d8d/goods-module - 商品管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L211-L214]@d8d/delivery-address-module - 配送地址管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L207-L210]@d8d/merchant-module - 商户管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L208-L211]@d8d/supplier-module - 供应商管理 [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L231-L234]@d8d/shared-test-util [Source: docs/prd/epic-005-mini-auth-modules-integration.md#L294-L306]packages/orders-module/src/routes/admin/ - 管理员使用的完整权限路由
orders.ts - 管理员订单管理(无数据权限限制)order-items.ts - 管理员订单商品管理(无数据权限限制)refunds.ts - 管理员退款管理(无数据权限限制)packages/orders-module/src/routes/user/ - 仅限当前用户使用的路由
orders.ts - 用户订单操作(数据权限:userIdField: 'userId')order-items.ts - 用户订单商品查看(数据权限:userIdField: 'userId')refunds.ts - 用户退款申请(数据权限:userIdField: 'userId')packages/orders-module/src/routes/create-order.ts - 专用订单创建路由dataPermission 配置 [Source: docs/stories/006.001.shared-crud-data-permission.story.md#L22-L25]packages/orders-module/tests/ [Source: architecture/testing-strategy.md#L39-L42]tests/unit/**/*.test.ts [Source: architecture/testing-strategy.md#L39-L42]tests/integration/**/*.test.ts [Source: architecture/testing-strategy.md#L47-L56]| Date | Version | Description | Author |
|---|---|---|---|
| 2025-11-12 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
此部分由开发代理在实现过程中填写
@d8d/shared-utils 的 AppDataSource@d8d/shared-types 的 AuthContextDataPermissionOptions 格式OrdersTestDataFactory 提高代码复用性entity-configuration.integration.test.ts此部分由QA代理在质量审查后填写