Files
quyun-v2/docs/todo_list.md
2026-01-13 09:47:03 +08:00

117 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.
# TODOlist需求梳理 + 技术方案)
> 目标:作为后续开发与测试的对照清单,明确范围、方案、接口、数据与测试策略。
## 统一原则
- 所有后端改动遵循 `backend/llm.txt` 规范与 GORM-Gen 访问方式。
- 分层约束Controller 仅做绑定与调用,业务与 DB 仅在 `services`
- 每个需求至少配套:接口说明 + 数据变更(如有)+ 关键业务校验 + 单元测试。
## P0必须先做
### 1) 租户成员体系(加入/邀请/审核)
**需求目标**
- 完成租户成员生命周期:申请加入、审核通过/拒绝、邀请加入。
- tenant_only 内容在“成员审核通过”后可访问;未审核需前置引导。
**技术方案(后端)**
- API
- 申请加入:`POST /t/:tenantCode/v1/tenants/:id<int>/join`
- 取消申请:`DELETE /t/:tenantCode/v1/tenants/:id<int>/join`
- 管理员审核:`POST /t/:tenantCode/v1/creator/members/:id<int>/review`
- 邀请成员:`POST /t/:tenantCode/v1/creator/members/invite`
- DB
- 使用现有 `tenant_join_requests` / `tenant_invites` 表(如已存在则复用;缺失则通过迁移新增)。
- Service
- 校验:用户是否已是成员/是否已申请;审核流转合法性;邀请有效期。
- 申请成功后写 `tenant_join_requests`;审核通过写 `tenant_users`
-`tenant_only` 内容访问:需要 `tenant_users.status=verified` 或已购买。
**测试方案**
- 申请加入:重复申请拦截。
- 审核通过后tenant_only 可访问;未通过不可访问。
- 邀请链接过期/重复使用处理。
---
## P1高优先
### 2) 内容访问策略完善(资源权限与预览差异化)
**需求目标**
- 媒体资源访问遵循:未购仅预览,已购全量,作者/管理员全量。
- 签名 URL 或下载地址生成前进行权限校验。
**技术方案(后端)**
- Service
- `Content.Get` 根据 `visibility + status + access` 决定 `MediaUrls`
- `Common.GetAssetURL` 或资源下载接口增加权限校验参数通过内容ID校验
- 规则
- public + 未购:仅 preview + cover
- tenant_only + 已购/成员/作者/管理员:完整
- private仅作者/管理员
**测试方案**
- 未登录/未购/已购/作者/管理员的可见资源集合一致性。
---
## P2中优先
### 3) 运营统计报表(曝光/转化/订单/退款)
**需求目标**
- 提供租户维度与时间范围的核心指标统计与导出。
**技术方案(后端)**
- API
- 总览:`GET /t/:tenantCode/v1/creator/dashboard`(已有,需扩展)
- 明细统计:`GET /t/:tenantCode/v1/creator/reports/overview`
- 导出:`POST /t/:tenantCode/v1/creator/reports/export`
- Service
- 聚合订单、退款、内容曝光views/likes、转化率访问->支付)。
- 导出:异步任务 + 结果下载。
**测试方案**
- 统计口径一致性;筛选组合;导出任务可用性。
---
## P3中优先
### 4) 审计与风控(敏感操作日志)
**需求目标**
- 所有关键业务操作(退款、审核、提现等)落审计。
**技术方案(后端)**
- 新增审计表或复用现有审计结构。
- Service 层在关键点写审计记录(含操作者、目标对象、前后状态)。
**测试方案**
- 审计落库验证;关键流程失败时不写审计或写失败原因。
---
## P4低优先
### 5) 超管后台治理能力(健康度/异常监控/内容审核)
**需求目标**
- 提供超管对租户的健康指标、异常趋势、内容合规审核。
**技术方案(后端)**
- API
- 租户健康度统计:`GET /super/v1/tenants/health`
- 内容审核流:`POST /super/v1/contents/:id<int>/review`
- Service
- 指标聚合 + 异常阈值定义。
- 审核状态流转与通知。
**测试方案**
- 审核状态流转有效性;异常阈值命中结果。
---
## 里程碑建议
- M1完成 P0成员体系 + 内容访问规则同步)
- M2完成 P1资源权限与预览差异化
- M3完成 P2统计与导出
- M4完成 P3 + P4