forked from xiongyuxing/tiku-backend.net
48 lines
2.0 KiB
Markdown
48 lines
2.0 KiB
Markdown
# 第五阶段:后台能力与 Worker 基座
|
||
|
||
状态:已完成第一轮底座实现。
|
||
|
||
## 目标
|
||
|
||
- 参考 yudao 后台能力,重建权限、菜单、审计、交易运营和 Worker 基座。
|
||
- 微信生态统一使用 `Senparc.Weixin.*`。
|
||
- 业务层继续只依赖 Application 接口,不直接引用第三方 SDK。
|
||
|
||
## 结果
|
||
|
||
- 微信支付切换到 `Senparc.Weixin.TenPayV3`。
|
||
- 生产代码禁止 `SKIT.FlurlHttpClient.Wechat.*`。
|
||
- 新增平台/租户后台权限、菜单、角色和用户角色绑定模型。
|
||
- 菜单只控制 UI 展示,不作为 API 鉴权依据。
|
||
- 角色、权限、菜单和用户角色绑定写操作落 `AuditLog`。
|
||
- 租户交易运营补齐退款、对账批次、对账 issue 和事件记录。
|
||
- 新增 `BackgroundJob` 统一任务模型。
|
||
- Worker 基于 `Microsoft.Extensions.Hosting` + `BackgroundService`。
|
||
- 任务处理器骨架覆盖 `content_export`、`content_import`、`asset_security_scan`、`statistics_aggregation`、`commerce_reconciliation`、`tenant_domain_recheck`。
|
||
- PostgreSQL tenant guard 统一放入集中 SQL helper,由 migration 调用。
|
||
|
||
## 固定 SDK
|
||
|
||
- OSS:`AlibabaCloud.OSS.V2`
|
||
- 阿里云短信:`AlibabaCloud.SDK.Dysmsapi20170525`
|
||
- 支付宝:`AlipaySDKNet.Standard`
|
||
- 微信公众号:`Senparc.Weixin.MP`
|
||
- 微信小程序:`Senparc.Weixin.WxOpen`
|
||
- 微信支付 V3:`Senparc.Weixin.TenPayV3`
|
||
|
||
## 验收
|
||
|
||
- platform token / tenant token 后台权限不能串用。
|
||
- 高风险写操作都有审计。
|
||
- 租户 A 不能查询或处理租户 B 交易数据。
|
||
- Worker 必须通过 `ITenantExecutionScope` 初始化租户或 System Scope。
|
||
- 架构扫描禁止 Supabase、SKIT 微信支付、业务层第三方 SDK、`IgnoreQueryFilters`、`FromSql`、`ExecuteSql`、直接 `NpgsqlCommand`。
|
||
|
||
```bash
|
||
dotnet build TIKU-BACKEND.slnx --no-restore
|
||
dotnet test Tiku.UnitTests/Tiku.UnitTests.csproj --no-build
|
||
dotnet test Tiku.IntegrationTests/Tiku.IntegrationTests.csproj --no-build
|
||
dotnet ef migrations script --project Tiku.Infrastructure --startup-project Tiku.DbMigrator
|
||
git diff --check
|
||
```
|