4.0 KiB
4.0 KiB
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