# 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 留痕。