3.0 KiB
3.0 KiB
K89 点赞/评论按集、收藏/热度按剧实施计划
目标
- 收藏、热度继续归属整部剧。
- 点赞、评论归属具体剧集:新增
drama_episode.like_count,content_like使用EPISODE目标。 - App 卡片、详情、播放响应按当前集装配点赞/评论;后台短剧/剧集页提供对应汇总与只读展示。
FruitServer A
-
数据库
- 新增
sql/migrate-k89-episode-like.sql,只提交不执行。 sql/schema-phase1.sql的 drama_episode 增量字段补 like_count,默认 0。
- 新增
-
分集点赞
DramaEpisode增加 likeCount;EpisodeService提供原子增减与批量 SUM。LikeService增加TYPE_EPISODE,校验已上线剧集的已上线分集,切换时同步分集计数,返回该集最新值。- 保留 DRAMA/COMMENT 点赞兼容。
-
分集评论
CommentService.countByEpisodes按 episode_id 批量分组统计未删除评论。/app/comments/count增加可选 episodeId;传集数返回该集,只有 dramaId 时维持全剧兼容语义。
-
App 装配
- 卡片 preview 集的 likeCount/commentCount 写入卡片;favoriteCount/viewCount 仍取剧。
- 详情 episodes[] 每项增加 likeCount/commentCount。
- 播放响应增加 episodeId 对应的 likeCount/commentCount。
-
后台
- EpisodeRespVO 增加本集 like/comment 与所属剧 favorite/heat;Controller.list 批量回填。
- EpisodeSaveReqVO 增加可空 likeCount,update 仅覆盖非 null,负数 BAD_REQUEST。
- DramaRespVO likeCount 改为分集 SUM,commentCount 保持全剧汇总;分页一次批量聚合避免 N+1。
- 更新 API 契约。
-
测试
- EPISODE 点赞 +1/-1、不越界、目标不存在。
- App 卡片按 preview 集、剧级 favorite/heat。
- 后台分集列表计数与剧级收藏/热度。
- 短剧分页 likeCount 为分集汇总。
ReelShortWeb B
- EpisodeItem / EpisodeSaveData 增加对应互动字段。
- 剧集表格增加本集点赞、评论,以及所属剧收藏、热度列。
- 编辑弹窗增加本集点赞输入和评论只读;“按集实时统计”。
- 短剧管理保持收藏/热度可编辑,点赞/评论展示为后端只读汇总。
风险与处理
- 存量
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 留痕。