Files
lislgosms/docs/phase-2-foundation-backend-progress.md
T

108 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 阶段 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. 实现短信应用、签名、签名资料、模板、模板变量、审核记录基础模型和接口。