docs: add prioritized todo list
This commit is contained in:
116
docs/todo_list.md
Normal file
116
docs/todo_list.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user