# 2026-10-21 | 短剧保存免费集数同步分集 ## 目标 后台短剧编辑改 `freeEpisodes` / `unlockCoin` 后,同步 `drama_episode.is_free` / `unlock_coin`,与定价页 `PriceService.save()` 规则一致。 ## 方案 1. 抽出 `EpisodePriceSync.syncByDramaRule(dramaId, freeEpisodes, unlockCoin)`,供 `DramaService.update` 与 `PriceService.save` 共用。 2. `DramaService.update` 在 `updateById` 后,仅当免费集数或解锁金币相对更新前有变化时调用同步。 3. TDD:先写 `DramaServiceTest` 复现失败,再改实现转绿。 ## 范围 - 仅 `fruitshorts-module-content` - 不改 Controller / VO / 契约 / 前端 ## 门禁 ```bash mvn -pl fruitshorts-module-content test -Dtest=DramaServiceTest mvn -pl fruitshorts-module-content test ``` ## 分支 / 提交 - `feature/drama-free-episodes-sync` ← `develop` - `test(content): 覆盖短剧免费集数同步分集价格` - `fix(content): 短剧保存免费集数时同步分集免费状态` - `merge --no-ff` 回 develop 并 push