Completed
作为 系统管理员, 我想要 复制小程序支付模块并添加多租户支持, 以便 支付记录可以在租户隔离的环境中管理,同时保持与现有单租户系统的完全兼容性。
@d8d/mini-payment 为 @d8d/mini-payment-mt,包含正确的包配置PaymentMt,包含租户ID字段和表名 payments_mt[x] 复制小程序支付模块为多租户版本 (AC: 1)
packages/mini-payment 为 packages/mini-payment-mt@d8d/mini-payment-mt@d8d/user-module 替换为 @d8d/user-module-mt@d8d/auth-module 替换为 @d8d/auth-module-mt@d8d/file-module 替换为 @d8d/file-module-mt[x] 更新多租户支付实体 (AC: 2)
PaymentMt 实体,表名为 payments_mttenantId 字段和正确的TypeORM配置[x] 更新多租户支付服务 (AC: 3, 4)
[x] 更新多租户路由配置 (AC: 3)
tenantOptions: { enabled: true, tenantIdField: 'tenantId' }[x] 更新Schema定义 (AC: 3)
PaymentSchema[x] 实现租户数据隔离API测试 (AC: 7)
packages/mini-payment-mt/tests/integration/payment-routes.integration.test.ts 中添加租户隔离测试用例[x] 验证单租户系统完整性 (AC: 5, 6)
[x] 在创建复制的代码修改完后先运行安装
pnpm install 安装依赖[x] 执行性能基准测试 (AC: 8)
[x] 执行回归测试验证 (AC: 9)
基于故事007.010(订单模块多租户复制)和之前故事的经验教训:
技术挑战和解决方案 [Source: docs/prd/epic-007-multi-tenant-package-replication.md#实施经验总结]
fileParallelism: false 避免并行测试导致的数据库表重复创建错误.mt.ts 后缀最佳实践 [Source: docs/prd/epic-007-multi-tenant-package-replication.md#最佳实践]
.mt.ts 后缀区分多租户文件fileParallelism: false 避免数据库冲突支付实体 [Source: packages/mini-payment/src/entities/payment.entity.ts]
payments → payments_mtexternalOrderId, userId, totalAmount, description, paymentStatus, wechatTransactionId, outTradeNo, openiduser (通过userId关联)tenantId 字段和复合索引路由结构 [Source: packages/mini-payment/src/routes/]
payment-routes.tspayment-callback-routes.tsAPI端点 [Source: packages/mini-payment/src/routes/]
新文件路径 [Source: docs/architecture/source-tree.md#包架构层次]
packages/mini-payment-mt/packages/mini-payment-mt/src/entities/payment.mt.entity.tspackages/mini-payment-mt/src/services/payment.mt.service.tspackages/mini-payment-mt/src/routes/*.mt.tspackages/mini-payment-mt/src/schemas/*.mt.schema.tspackages/mini-payment-mt/tests/integration/*.integration.test.ts多租户架构 [Source: docs/prd/epic-007-multi-tenant-package-replication.md#架构设计详情]
tenantOptions: { enabled: true, tenantIdField: 'tenantId' }性能要求 [Source: docs/prd/epic-007-multi-tenant-package-replication.md#成功标准]
packages/mini-payment-mt/tests/integration/| 日期 | 版本 | 描述 | 作者 |
|---|---|---|---|
| 2025-11-17 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
| 2025-11-17 | 1.1 | 完成多租户支付模块实施 | Claude Code |
setupIntegrationDatabaseHooksWithEntities 模式docs/stories/007.011.mini-payment-module-multi-tenant-replication.md - 故事文档packages/mini-payment-mt/package.json - 多租户支付模块包配置packages/mini-payment-mt/src/entities/payment.mt.entity.ts - 多租户支付实体packages/mini-payment-mt/src/services/payment.mt.service.ts - 多租户支付服务packages/mini-payment-mt/src/routes/payment/create.mt.ts - 多租户支付创建路由packages/mini-payment-mt/src/routes/payment/callback.mt.ts - 多租户支付回调路由packages/mini-payment-mt/src/routes/payment/status.mt.ts - 多租户支付状态查询路由packages/mini-payment-mt/src/schemas/payment.mt.schema.ts - 多租户支付Schemapackages/mini-payment-mt/tests/integration/payment-routes.integration.test.ts - 多租户支付路由集成测试packages/mini-payment-mt/tests/integration/payment.integration.test.ts - 多租户支付集成测试packages/mini-payment-mt/tests/integration/payment-callback.integration.test.ts - 多租户支付回调集成测试此部分将在质量保证审查过程中由QA代理填充