feat: add student video and profile experience
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
- [`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)
|
||||
- [`docs/migration/phase-7-student-experience-and-content-consumption.md`](migration/phase-7-student-experience-and-content-consumption.md)
|
||||
|
||||
迁移原则:
|
||||
|
||||
@@ -65,9 +66,10 @@
|
||||
- 公开 catalog:Banner、FAQ、公告、考试日期、商品、SVIP 套餐等。
|
||||
- 内容导航、题库、词汇、手册、视频、资源公开查询。
|
||||
- 资源上传签名、确认、下载/预览签名。
|
||||
- 学生个人中心、通知、徽章、反馈。
|
||||
- 学生端视频搜索、播放授权、观看进度、题目解析视频查询。
|
||||
- 学生个人中心、签到、积分流水、通知、徽章、反馈。
|
||||
- 学习统计、排行榜、错题/单词复习。
|
||||
- 题目管理、内容导入骨架、词汇/手册/分数线/视频后台管理。
|
||||
- 题目管理、内容导入预览、同步导入、异步导入任务、导入详情、词汇/手册/分数线/视频后台管理。
|
||||
- 商品下单、微信/支付宝/manual 支付、支付回调、权益发放。
|
||||
- 积分任务、积分领取、积分兑换。
|
||||
- 优惠券领取、校验、下单抵扣、零元订单发权益。
|
||||
@@ -78,106 +80,9 @@
|
||||
|
||||
## 剩余迁移范围
|
||||
|
||||
剩余部分不建议再按“旧接口数量”机械推进。旧 NestJS 里还有大量平台运营、自动化、审计、对账、AI 推荐等后段能力,应该按业务风险和依赖关系分批迁移。
|
||||
剩余部分不建议再按“旧接口数量”机械推进。第六阶段已经把平台后台、租户后台、交易运营和 Worker 最小闭环打通;第七阶段补齐了学生端视频、签到积分流水和内容导入异步化。后续应按“能上线运营”和“体验增强”拆分。
|
||||
|
||||
### 1. 高级交易运营
|
||||
|
||||
建议下一批优先迁移。
|
||||
|
||||
旧版相关模块:
|
||||
|
||||
- `commerce-adjustments.module.ts`
|
||||
- `commerce-reconciliation.module.ts`
|
||||
- 部分 `commerce-payments.module.ts`
|
||||
|
||||
目标能力:
|
||||
|
||||
- 退款申请、审核、处理、退款事件。
|
||||
- 支付/订单调账凭证。
|
||||
- 对账批次、对账明细、对账异常。
|
||||
- 对账问题创建、分配、状态流转、处理事件。
|
||||
- provider bill jobs 账单下载任务骨架。
|
||||
- 管理侧交易异常报表。
|
||||
|
||||
为什么优先:
|
||||
|
||||
- 当前系统已经能下单、支付、发权益、算佣金。
|
||||
- 真实运营里最先遇到的是退款、支付差异、人工调账。
|
||||
- 相关数据库模型基本已经存在,适合继续在交易边界内补完整。
|
||||
|
||||
建议提交拆分:
|
||||
|
||||
1. `feat: add commerce refund operations`
|
||||
2. `feat: add commerce reconciliation queries`
|
||||
3. `feat: add commerce reconciliation issue workflow`
|
||||
4. `feat: add commerce adjustment voucher operations`
|
||||
|
||||
### 2. 租户内容导出与 Worker 骨架
|
||||
|
||||
旧版相关模块:
|
||||
|
||||
- `tenant-content-exports.module.ts`
|
||||
- 内容导入/统计/资源扫描相关 worker 逻辑。
|
||||
|
||||
目标能力:
|
||||
|
||||
- 内容导出任务查询。
|
||||
- 创建导出任务。
|
||||
- 导出文件落 OSS。
|
||||
- 导入任务异步化。
|
||||
- 资源安全扫描任务骨架。
|
||||
- 统计聚合 worker 骨架。
|
||||
|
||||
注意:
|
||||
|
||||
- 不要把 worker 和 API 写成一坨。
|
||||
- API 只负责创建任务、查询状态、下载结果。
|
||||
- Worker 独立处理重试、幂等、失败记录。
|
||||
|
||||
### 3. 平台后台基础
|
||||
|
||||
旧版相关模块:
|
||||
|
||||
- `platform-admin-overview.module.ts`
|
||||
- `platform-admin-tenants.module.ts`
|
||||
- `platform-admin-question-banks.module.ts`
|
||||
|
||||
目标能力:
|
||||
|
||||
- 平台总览。
|
||||
- 平台权限摘要。
|
||||
- 平台员工查询与状态管理。
|
||||
- 租户列表、租户状态调整。
|
||||
- 租户账单资料。
|
||||
- 公库题库授权/采纳管理。
|
||||
|
||||
注意:
|
||||
|
||||
- 这块是 SaaS 平台运营,不是学生端主链路。
|
||||
- 需要先明确平台管理员权限模型,避免继续用粗粒度 `TenantAdmin`。
|
||||
|
||||
### 4. 平台账单、催缴、审计告警
|
||||
|
||||
旧版相关模块:
|
||||
|
||||
- `platform-admin-billing.module.ts`
|
||||
- `platform-admin-dunning.module.ts`
|
||||
- `platform-admin-audit.module.ts`
|
||||
|
||||
目标能力:
|
||||
|
||||
- SaaS 套餐和租户订阅。
|
||||
- 用量记录与账单生成。
|
||||
- 发票、发票明细、收款记录。
|
||||
- 催缴提醒与通知渠道。
|
||||
- 审计告警规则、告警查询、确认、解决。
|
||||
|
||||
注意:
|
||||
|
||||
- 这块涉及平台财务和自动化,不建议和学生交易混在一起。
|
||||
- 自动生成账单、催缴、告警扫描应放到 Worker。
|
||||
|
||||
### 5. AI 推荐报告
|
||||
### 1. AI 推荐报告,独立阶段
|
||||
|
||||
旧版相关模块:
|
||||
|
||||
@@ -189,33 +94,67 @@
|
||||
- 推荐详情。
|
||||
- 推荐报告导出。
|
||||
- 推荐生成任务。
|
||||
- 租户级 AI Provider 配置、API Key 密钥托管和调用审计。
|
||||
|
||||
注意:
|
||||
阶段约定:
|
||||
|
||||
- 不建议直接照搬旧版。
|
||||
- 需要结合分数线动态字段、用户画像、目标院校、志愿规则重新设计。
|
||||
- 应等核心数据和 worker 稳定后再做。
|
||||
- 默认基于 Microsoft Semantic Kernel 设计 Kernel / Plugin / AI Service 编排。
|
||||
- AI Provider 使用 `TenantExternalProvider(capability=ai)`。
|
||||
- 租户 API Key 存入 `TenantSecret`,不进入业务 DTO。
|
||||
- `Microsoft.SemanticKernel` 只允许出现在 Infrastructure AI provider 实现中。
|
||||
- Application 层只暴露业务抽象,例如 `IAiRecommendationProvider` / `IAiKernelFactory`。
|
||||
- 不直接照搬旧 prompt 或推荐算法,先结合分数线动态字段、用户画像、目标院校和志愿规则重新设计。
|
||||
|
||||
### 6. 零散补齐项
|
||||
### 2. 内容导出和导入处理器增强
|
||||
|
||||
这些可以穿插迁移,但不建议打断主线:
|
||||
当前已经支持导入预览、同步小批量导入、异步 `content_import` job 和导入详情查询。后续增强:
|
||||
|
||||
- 内容导出任务查询和创建。
|
||||
- 题库、题目、学生数据导出到对象存储。
|
||||
- 导入 preview/result/issue 更细化。
|
||||
- 大文件导入解析进度、失败行回放和重试。
|
||||
- 导入、导出输出资产统一走对象存储 provider,不暴露 bucket/key。
|
||||
|
||||
### 3. Worker 处理器补强
|
||||
|
||||
当前 Worker 已有统一任务模型、租户 scope 和部分实处理器。后续增强:
|
||||
|
||||
- `content_export` 完整导出。
|
||||
- `asset_security_scan` 接真实扫描 provider。
|
||||
- `statistics_aggregation` 增量聚合。
|
||||
- `commerce_reconciliation` 接真实 provider bill downloader。
|
||||
- `tenant_domain_recheck` 增加周期调度和告警联动。
|
||||
|
||||
### 4. 后台运营细化
|
||||
|
||||
平台后台、租户后台和交易运营已有主线能力,后续按运营优先级补:
|
||||
|
||||
- 学生端视频搜索、视频观看进度。
|
||||
- 租户 secrets 通用后台管理。
|
||||
- 租户监督规则。
|
||||
- 租户监督规则和跟进报表细化。
|
||||
- 租户洞察报表。
|
||||
- 更细粒度 RBAC 权限点。
|
||||
- 管理后台操作审计补全。
|
||||
- 管理后台操作审计覆盖率补齐。
|
||||
- 发票、催缴、佣金联动调账。
|
||||
|
||||
### 5. 旧路径兼容评估
|
||||
|
||||
默认不迁旧 URL,只迁行为能力。只有前端明确依赖且重写成本高时,才增加薄兼容 Controller;兼容层不得恢复旧 Supabase、旧 grant/adoption 公共题库授权模型、旧 `QuestionIds` JSON 或旧 Provider 配置表。
|
||||
|
||||
明确不再迁移为主接口:
|
||||
|
||||
- `/api/profile/activity-tasks`,由 `/api/points/tasks` 替代。
|
||||
- `/api/profile/exchange-items` 和 `/api/profile/exchange-items/redeem`,由 `/api/points/exchange-items`、`/api/points/exchange-orders` 替代。
|
||||
- 公共题库 adopt/sync/grant,已被平台公共题库所有权 + `TenantQuestionReference` 模型替代。
|
||||
- Supabase 相关任何路径。
|
||||
|
||||
## 推荐后续顺序
|
||||
|
||||
```text
|
||||
1. 高级交易运营:退款、对账、调账
|
||||
2. 租户内容导出 + Worker 骨架
|
||||
3. 平台后台基础:总览、租户、平台员工、公库授权
|
||||
4. 平台账单/发票/催缴/审计告警
|
||||
5. AI 推荐报告
|
||||
6. 零散体验与后台增强
|
||||
1. AI 推荐报告独立阶段:Semantic Kernel + 租户自带 API Key
|
||||
2. 内容导出 + 导入处理器增强
|
||||
3. Worker 统计、扫描、对账、域名复验处理器补强
|
||||
4. 后台运营细化:secrets、监督、洞察、审计、发票/催缴
|
||||
5. 按前端实际依赖做旧路径兼容评估
|
||||
```
|
||||
|
||||
## 每批固定验收
|
||||
@@ -225,36 +164,32 @@
|
||||
```bash
|
||||
dotnet restore TIKU-BACKEND.slnx
|
||||
dotnet build TIKU-BACKEND.slnx --no-restore
|
||||
dotnet test TIKU-BACKEND.slnx --no-build
|
||||
dotnet format TIKU-BACKEND.slnx --verify-no-changes --no-restore
|
||||
dotnet test Tiku.UnitTests/Tiku.UnitTests.csproj --no-build
|
||||
dotnet test Tiku.IntegrationTests/Tiku.IntegrationTests.csproj --no-build
|
||||
git diff --check
|
||||
dotnet ef migrations script \
|
||||
--project Tiku.Infrastructure \
|
||||
--startup-project Tiku.DbMigrator
|
||||
dotnet ef migrations has-pending-model-changes \
|
||||
--project Tiku.Infrastructure \
|
||||
--startup-project Tiku.DbMigrator
|
||||
```
|
||||
|
||||
如果某批不涉及数据库 migration,也仍然运行 migration script,确认当前模型快照和迁移链没有损坏。
|
||||
|
||||
## 下一批建议
|
||||
|
||||
下一批建议执行:
|
||||
下一批建议执行独立 AI 阶段,但先只做架构底座和一个最小推荐报告闭环,不直接接生产模型:
|
||||
|
||||
```text
|
||||
高级交易运营:退款、对账、调账
|
||||
```
|
||||
|
||||
建议目标:
|
||||
|
||||
- 学生/管理员可查询退款状态。
|
||||
- 租户管理员可创建、审核、处理退款申请。
|
||||
- 支付回调和退款事件保持幂等。
|
||||
- 对账批次、明细、异常问题可查询。
|
||||
- 对账异常可创建 issue、流转状态、记录事件。
|
||||
- 调账凭证可创建、审核、作废,并影响后续报表口径。
|
||||
- 增加 `TenantExternalProviderCapability.Ai` 和密钥配置校验。
|
||||
- 增加 Application AI 抽象,不让 Controller 直接接触 SK。
|
||||
- Infrastructure 引入 Semantic Kernel provider,实现 fake/local stub 和真实 provider 边界。
|
||||
- 设计推荐报告数据模型、任务模型、调用审计和成本记录。
|
||||
- 完成报告生成任务、列表、详情和导出骨架。
|
||||
|
||||
建议暂缓:
|
||||
|
||||
- 自动下载真实微信/支付宝账单。
|
||||
- 自动退款真实网关请求。
|
||||
- 平台级财务审批流。
|
||||
- 发票、催缴、佣金联动调账。
|
||||
- 复杂 RAG。
|
||||
- 自动志愿填报决策。
|
||||
- 多模型路由优化。
|
||||
- 生产 API Key 托管 UI 之外的手工配置方案。
|
||||
|
||||
Reference in New Issue
Block a user