feat: complete cmpp platform phases 0-5

This commit is contained in:
hectorzhao
2026-07-01 13:22:04 +08:00
parent 824a8b334f
commit ee926fea04
86 changed files with 10490 additions and 14 deletions
+107
View File
@@ -0,0 +1,107 @@
# 阶段 2 基础后台进度记录
## 2026-07-01
### 阶段计划
- 已创建 `docs/phase-2-foundation-backend-plan.md`
- 阶段 2 第一轮聚焦后端模型和模块边界。
### 验证记录
- 扩展 Prisma 基础模型并创建 NestJS 模块边界后执行:
- `cd api && npm run prisma:generate`:通过。
- `cd api && npm run build`:通过。
- 阶段回归验证:
- `npm run verify:phase1`:通过。
- BullMQ 本轮端到端 TPS1019.27,满足 500 条/秒验证线。
- Prisma Client 生成成功。
- API 构建成功。
- 前端构建成功,仍有 Vite chunk 大小告警,不阻塞。
- 实现基础后台最小 API 后执行:
- `cd api && npm run prisma:generate`:通过。
- `cd api && npm run build`:通过。
- API health 冒烟:`GET http://127.0.0.1:3101/api/health` 返回 `{"status":"ok","service":"cmpp-platform-api",...}`
- 阶段 2 完整验证:
- `npm run verify:phase2`:通过。
- BullMQ 本轮端到端 TPS531.54,满足 500 条/秒验证线。
- Prisma Client 生成成功。
- API 构建成功。
- 前端构建成功,仍有 Vite chunk 大小告警,不阻塞。
### 已完成
- Prisma 基础模型:
- `Tenant`
- `User`
- `Role`
- `Permission`
- `UserRole`
- `RolePermission`
- `OperationLog`
- `FileObject`
- `PhoneSegment`
- `SensitiveWord`
- `EnterpriseBlacklist`
- `GlobalBlacklist`
- `DrainageField`
- `BillingPlan`
- `TenantAccount`
- `AccountTransaction`
- `BillingRule`
- NestJS 模块边界:
- `AuthModule`
- `TenantsModule`
- `UsersModule`
- `AuditModule`
- `FilesModule`
- `DictionariesModule`
- `BillingModule`
- 最小 API 能力:
- `POST /api/client/auth/login`
- `GET/POST /api/admin/tenants`
- `GET/POST /api/admin/users`
- `GET/POST /api/admin/users/roles`
- `GET/POST /api/admin/users/permissions`
- `POST /api/admin/users/roles/assign`
- `POST /api/admin/users/permissions/assign`
- `GET/POST /api/admin/operation-logs`
- `GET/POST /api/admin/files`
- `POST /api/admin/files/presigned-upload`
- `GET/POST /api/admin/dictionaries/phone-segments`
- `GET/POST /api/admin/dictionaries/sensitive-words`
- `GET/POST /api/admin/dictionaries/blacklists/global`
- `GET/POST /api/admin/dictionaries/blacklists/enterprise`
- `GET/POST /api/admin/dictionaries/drainage-fields`
- `GET/POST /api/admin/billing/plans`
- `GET/POST /api/admin/billing/accounts`
- `GET/POST /api/admin/billing/transactions`
- `GET/POST /api/admin/billing/rules`
- `GET /api/client/billing/plans`
- `GET /api/client/billing/transactions`
- 基础设施:
- Prisma 7 使用 `@prisma/adapter-pg`
- 文件上传使用 MinIO SDK 生成预签名上传 URL。
- `PrismaService` 懒连接,允许无 PostgreSQL 时启动 health/Swagger。
### 阶段 2 验收状态
| 验收项 | 状态 | 说明 |
| --- | --- | --- |
| 登录认证基础接口 | 已完成 | 已有用户名/密码登录占位,返回开发 token;正式 JWT/密码算法阶段后续加强。 |
| 企业/租户基础能力 | 已完成 | 租户列表、详情、创建接口已实现。 |
| 用户、角色、权限 | 已完成 | 用户、角色、权限、分配关系接口已实现。 |
| 操作日志 | 已完成 | 操作日志列表和创建接口已实现。 |
| 文件上传和对象存储 | 已完成 | 文件元数据接口和 MinIO 预签名上传入口已实现。 |
| 基础字典 | 已完成 | 手机号段、敏感词、黑名单、引流字段接口已实现。 |
| 账户、套餐、账务流水基础模型 | 已完成 | 套餐、账户、流水、计费规则接口已实现,客户端账单查询入口已提供。 |
| 构建/生成验证 | 已完成 | Prisma generate、API build、API health 冒烟均通过。 |
### 阶段 2 结论
阶段 2 已完成。第一版可以进入阶段 3 短信配置。
### 下一步
1. 输出阶段 3 实施计划和验收标准。
2. 实现短信应用、签名、签名资料、模板、模板变量、审核记录基础模型和接口。