60 lines
3.0 KiB
Markdown
60 lines
3.0 KiB
Markdown
# K89 点赞/评论按集、收藏/热度按剧实施计划
|
||
|
||
## 目标
|
||
|
||
- 收藏、热度继续归属整部剧。
|
||
- 点赞、评论归属具体剧集:新增 `drama_episode.like_count`,`content_like` 使用 `EPISODE` 目标。
|
||
- App 卡片、详情、播放响应按当前集装配点赞/评论;后台短剧/剧集页提供对应汇总与只读展示。
|
||
|
||
## FruitServer A
|
||
|
||
1. 数据库
|
||
- 新增 `sql/migrate-k89-episode-like.sql`,只提交不执行。
|
||
- `sql/schema-phase1.sql` 的 drama_episode 增量字段补 like_count,默认 0。
|
||
|
||
2. 分集点赞
|
||
- `DramaEpisode` 增加 likeCount;`EpisodeService` 提供原子增减与批量 SUM。
|
||
- `LikeService` 增加 `TYPE_EPISODE`,校验已上线剧集的已上线分集,切换时同步分集计数,返回该集最新值。
|
||
- 保留 DRAMA/COMMENT 点赞兼容。
|
||
|
||
3. 分集评论
|
||
- `CommentService.countByEpisodes` 按 episode_id 批量分组统计未删除评论。
|
||
- `/app/comments/count` 增加可选 episodeId;传集数返回该集,只有 dramaId 时维持全剧兼容语义。
|
||
|
||
4. App 装配
|
||
- 卡片 preview 集的 likeCount/commentCount 写入卡片;favoriteCount/viewCount 仍取剧。
|
||
- 详情 episodes[] 每项增加 likeCount/commentCount。
|
||
- 播放响应增加 episodeId 对应的 likeCount/commentCount。
|
||
|
||
5. 后台
|
||
- EpisodeRespVO 增加本集 like/comment 与所属剧 favorite/heat;Controller.list 批量回填。
|
||
- EpisodeSaveReqVO 增加可空 likeCount,update 仅覆盖非 null,负数 BAD_REQUEST。
|
||
- DramaRespVO likeCount 改为分集 SUM,commentCount 保持全剧汇总;分页一次批量聚合避免 N+1。
|
||
- 更新 API 契约。
|
||
|
||
6. 测试
|
||
- EPISODE 点赞 +1/-1、不越界、目标不存在。
|
||
- App 卡片按 preview 集、剧级 favorite/heat。
|
||
- 后台分集列表计数与剧级收藏/热度。
|
||
- 短剧分页 likeCount 为分集汇总。
|
||
|
||
## ReelShortWeb B
|
||
|
||
1. EpisodeItem / EpisodeSaveData 增加对应互动字段。
|
||
2. 剧集表格增加本集点赞、评论,以及所属剧收藏、热度列。
|
||
3. 编辑弹窗增加本集点赞输入和评论只读;“按集实时统计”。
|
||
4. 短剧管理保持收藏/热度可编辑,点赞/评论展示为后端只读汇总。
|
||
|
||
## 风险与处理
|
||
|
||
- 存量 `drama.like_count` 保留不删,不回填分集;新展示以分集 SUM 为准。
|
||
- App 评论数按 preview 集统计,只有 episodeId 为空的历史评论仍计入全剧汇总。
|
||
- 评论/点赞接口保持匿名/登录既有安全语义,不新增第三方依赖。
|
||
- 迁移脚本由 PM 执行;本地门禁不访问真实数据库。
|
||
|
||
## 门禁与 Git
|
||
|
||
- FruitServer:`mvn test` 全过;提交 `feat(interaction): 点赞与评论按集统计`;`--no-ff` 合回 develop 并 push。
|
||
- ReelShortWeb:`pnpm ts:check`、`pnpm build:dev` 通过;提交 `feat(admin): 剧集列表展示分集互动数据`;`--no-ff` 合回 develop 并 push。
|
||
- 作者统一 `Zhou Weidong <502333560@qq.com>`;禁止 `git add -A`;各自 PROGRESS 追加 K89 留痕。
|