diff --git a/docs/todo_list.md b/docs/todo_list.md new file mode 100644 index 0000000..b110a34 --- /dev/null +++ b/docs/todo_list.md @@ -0,0 +1,116 @@ +# TODOlist(需求梳理 + 技术方案) + +> 目标:作为后续开发与测试的对照清单,明确范围、方案、接口、数据与测试策略。 + +## 统一原则 +- 所有后端改动遵循 `backend/llm.txt` 规范与 GORM-Gen 访问方式。 +- 分层约束:Controller 仅做绑定与调用,业务与 DB 仅在 `services`。 +- 每个需求至少配套:接口说明 + 数据变更(如有)+ 关键业务校验 + 单元测试。 + +## P0(必须先做) + +### 1) 租户成员体系(加入/邀请/审核) +**需求目标** +- 完成租户成员生命周期:申请加入、审核通过/拒绝、邀请加入。 +- tenant_only 内容在“成员审核通过”后可访问;未审核需前置引导。 + +**技术方案(后端)** +- API + - 申请加入:`POST /t/:tenantCode/v1/tenants/:id/join` + - 取消申请:`DELETE /t/:tenantCode/v1/tenants/:id/join` + - 管理员审核:`POST /t/:tenantCode/v1/creator/members/:id/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/review` +- Service + - 指标聚合 + 异常阈值定义。 + - 审核状态流转与通知。 + +**测试方案** +- 审核状态流转有效性;异常阈值命中结果。 + +--- + +## 里程碑建议 +- M1:完成 P0(成员体系 + 内容访问规则同步) +- M2:完成 P1(资源权限与预览差异化) +- M3:完成 P2(统计与导出) +- M4:完成 P3 + P4