feat(content): 新增内容类型与首页分类 feed
This commit is contained in:
1 parent
d9cdbc8e15
commit
1052b97306
19 files changed
+557
-4
No files matched your search
@@ -0,0 +1,51 @@
|
||||
# K88 内容类型、互动数据编辑与分类 Feed 实施计划
|
||||
|
||||
## 目标
|
||||
|
||||
- 后台短剧管理支持内容类型和互动数据编辑:收藏、点赞、热度可编辑,评论数实时统计只读。
|
||||
- 新增 `drama.drama_type`,取值为 `ANIME` / `LIVE`,默认 `LIVE`。
|
||||
- App 新增 `GET /app/feed`,支持 `ANIME,LIVE` 多选类型,不传类型时返回推荐全部。
|
||||
|
||||
## FruitServer A
|
||||
|
||||
1. 数据库
|
||||
- 新增 `sql/migrate-k88-drama-type.sql`,只提交迁移文件,不执行数据库变更。
|
||||
- `sql/schema.sql` 的 drama 建表语句补 `drama_type`,默认 `LIVE`。
|
||||
|
||||
2. 后台管理
|
||||
- `Drama`、`DramaSaveReqVO`、`DramaRespVO` 增加 `dramaType`。
|
||||
- `DramaSaveReqVO` 增加可空 `favoriteCount`、`likeCount`、`heat`;服务层校验非负,`heat` 映射 `view_count`。
|
||||
- create 默认内容类型 LIVE、互动数 0;update 仅覆盖请求非 null 的互动字段。
|
||||
- 后台分页增加 `dramaTypes` 多选过滤,并保持 CommentService 批量回填评论数。
|
||||
|
||||
3. App Feed
|
||||
- `AppDramaCardVO` 增加 `dramaType`,现有 home/discover/detail 仅新增字段。
|
||||
- `GET /app/feed` 支持 `types`、`cursor`、`size`;size 默认 20、最大 50。
|
||||
- 排序为 `recommend_weight DESC NULLS LAST, view_count DESC, id DESC`。
|
||||
- cursor 使用最后一条 drama id,服务端反查其 recommendWeight/viewCount/id,再按三元组做 keyset 查询,避免 offset 翻页重漏。
|
||||
- 卡片复用现有 `toCards`,确保 preview、互动数、评论数与首页一致。
|
||||
- 更新 `docs/api-phase1.md` 的 dramaType 与 `/app/feed` 契约。
|
||||
|
||||
4. 测试
|
||||
- `/app/feed`:全部、ANIME、ANIME+LIVE、游标翻页不重不漏。
|
||||
- 后台 update:部分字段更新、heat 写 viewCount、负数与非法 dramaType 报错。
|
||||
|
||||
## ReelShortWeb B
|
||||
|
||||
1. 类型定义补齐 dramaType、favoriteCount、likeCount、commentCount、heat。
|
||||
2. 短剧列表增加内容类型筛选和标签列,播放量列改为热度,增加收藏/点赞/评论列。
|
||||
3. 编辑弹窗增加必填内容类型、互动数据区块;评论数只读。
|
||||
4. 不改审核、发布、删除逻辑。
|
||||
|
||||
## 风险与处理
|
||||
|
||||
- 推荐排序包含可空 recommend_weight,SQL 与 Java 条件必须显式处理 NULLS LAST。
|
||||
- 三字段排序不能只按 id 做 cursor,需以 cursor id 反查上一页最后一条的排序值。
|
||||
- 存量数据不主动修改,迁移默认 LIVE;数据库脚本由 PM 执行。
|
||||
- 全部改动只使用显式文件暂存,不执行 `git add -A`,不改 specs 与 Flutter 客户端。
|
||||
|
||||
## 门禁与 Git
|
||||
|
||||
- FruitServer:`mvn test` 全过;提交 `feat(content): 新增内容类型与首页分类 feed`;`--no-ff` 合回 develop 并 push。
|
||||
- ReelShortWeb:`pnpm ts:check`、`pnpm build:dev` 通过;提交 `feat(admin): 短剧列表展示并编辑互动数据`;`--no-ff` 合回 develop 并 push。
|
||||
- 作者统一 `Zhou Weidong <502333560@qq.com>`;各自 PROGRESS 追加 K88 留痕。
|
||||
Reference in new issue
Block a user