Draft
As a 系统管理员 I want 创建租户基础包和租户管理功能 so that 能够为多租户系统提供基础的租户管理和上下文支持
@d8d/merchant-module 为 @d8d/tenant-module-mt 租户管理模块@d8d/merchant-module 为 @d8d/tenant-module-mt (AC: 1)
packages/
├── merchant-module/ (源包)
│ ├── src/
│ │ ├── entities/merchant.entity.ts
│ │ ├── services/merchant.service.ts
│ │ ├── routes/
│ │ ├── schemas/
│ │ └── types/
│ └── package.json
└── tenant-module-mt/ (目标包)
├── src/
│ ├── entities/tenant.entity.ts
│ ├── services/tenant.service.ts
│ ├── routes/
│ ├── schemas/
│ └── types/
└── package.json
从商户实体到租户实体的字段映射:
name (商户名称) → name (租户名称)username (用户名) → code (租户代码,唯一标识)password, loginNum, loginTime, loginIp, lastLoginTime, lastLoginIpstatus (租户状态), config (租户配置)export class TenantContext {
private static readonly tenantIdStorage = new AsyncLocalStorage<number>();
static getCurrentTenantId(): number | undefined {
return this.tenantIdStorage.getStore();
}
static runWithTenant<T>(tenantId: number, fn: () => Promise<T>): Promise<T> {
return this.tenantIdStorage.run(tenantId, fn);
}
}
@d8d/shared-crud, @d8d/shared-types, @d8d/shared-utilstests/ 目录下| Date | Version | Description | Author |
|---|---|---|---|
| 2025-11-13 | 1.0 | 初始故事创建 | Claude |
此部分将由开发代理在实施过程中填写
{{agent_model_name_version}}
此部分将由QA代理在QA审查后填写