25 lines
914 B
Markdown
25 lines
914 B
Markdown
# 2026-10-21 | 短剧保存始终同步分集价格(幂等纠偏)
|
|
|
|
## 背景
|
|
|
|
承接 K104。短剧 `free_episodes=9` 重存后,分集 5~9 仍收费。
|
|
|
|
## 根因
|
|
|
|
`DramaService.update()` 仅在 `freeEpisodes` / `unlockCoin` 相对更新前有变化时调用 `EpisodePriceSync`。历史数据已漂移时,同值重存不触发同步。
|
|
|
|
## 方案
|
|
|
|
1. 测试:覆盖「规则字段未变、分集已漂移」仍纠正。
|
|
2. `DramaService.update()`:每次保存都调用 `EpisodePriceSync.syncByDramaRule(drama)`。
|
|
3. `EpisodePriceSync`:仅对有差异的行走 `updateById`(已具备,保持)。
|
|
|
|
## 范围
|
|
|
|
只改 `fruitshorts-module-content` 的 `DramaService` / `EpisodePriceSync` / `DramaServiceTest`。不改 Controller / VO / 契约 / 前端。
|
|
|
|
## 提交
|
|
|
|
1. `test(content): 覆盖免费集数未变但分集漂移的修复场景`
|
|
2. `fix(content): 短剧保存时始终同步分集价格`
|