feat: add phase five operations foundation

This commit is contained in:
2026-07-28 09:57:50 +08:00
parent 71793a2de0
commit f22f329d33
39 changed files with 4810 additions and 160 deletions

View File

@@ -9,6 +9,7 @@
- [`docs/migration/phase-2-engineering-foundation.md`](migration/phase-2-engineering-foundation.md)
- [`docs/migration/phase-3-tenant-isolation-and-shared-question-bank.md`](migration/phase-3-tenant-isolation-and-shared-question-bank.md)
- [`docs/migration/phase-4-external-provider-decoupling.md`](migration/phase-4-external-provider-decoupling.md)
- [`docs/migration/phase-5-backoffice-worker-operations.md`](migration/phase-5-backoffice-worker-operations.md)
迁移原则:
@@ -17,6 +18,7 @@
- 不保留 Supabase 运行时依赖、Storage provider 或 Auth 兼容层。
- 数据一致性落 PostgreSQL FK / unique / check / index 约束。
- 多租户数据默认带 `TenantId`,跨租户引用优先使用 composite FK。
- ORM 不能自动表达的跨表租户不变量,使用集中 PostgreSQL trigger / constraint trigger SQL helper由 EF Core migration 调用并用真实 PostgreSQL 集成测试验证。
- 外部身份、短信、对象存储、支付和通知都通过 Application 接口与 `TenantExternalProvider` 配置解耦。
- JSON 字段使用 C# `JsonElement` + PostgreSQL `jsonb`,不落字符串。
- 旧版明显是占位、临时脚本或平台自动化的部分,不直接硬搬,先重新设计边界。
@@ -34,7 +36,9 @@
- Scalar / OpenAPI 基础入口。
- 统一租户外部服务配置:`TenantExternalProvider` + `TenantSecret`
- 身份、短信、阿里云 OSS、支付和通知 Provider 抽象,业务层不感知 Supabase Storage、OSS bucket、微信/支付/短信 SDK 或密钥读取细节。
- Senparc 微信登录小程序码生成边界。
- Senparc 微信登录小程序码和微信支付 V3 边界。
- 后台权限、菜单、平台/租户角色与操作审计底座。
- `Microsoft.Extensions.Hosting` Worker 与统一后台任务模型。
### 数据库
@@ -50,6 +54,7 @@
- 推广、邀请码、归因、CRM 队列、佣金结算。
- 运营内容、通知、徽章、审计。
- 平台账单、催缴、审计告警、对账/退款相关模型。
- 后台权限、菜单、角色、用户角色绑定和后台任务模型。
- PocketBase 导入审计。
- 自定义域名 DNS/TLS 生命周期和租户前端运行时配置。