mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-06 13:26:38 +08:00
fix(scrape): 单集名不再覆盖整剧 original_name 修复合集被拆集 + 媒体库页新增单库修复重刮
- 根因: 单集刮削把 TMDB episode.Name 写入 original_name(应为整剧原名), 导致同剧每集 original_name 不同, 合集分组键回退到标题时被拆成多集无法合并。 移除该覆盖, 保留单集 overview/剧照/评分/时长回填(不影响合集键)。 - 新增 RepairAndRescrapeLibrary 服务方法 + POST /admin/libraries/:id/repair-rescrape 路由 + 媒体库页「修复+重刮本库」按钮, 可按库单独触发修复(回填占位符外部 ID)并重刮, 既修空 ID 又借重刮覆盖此前被单集名污染的 original_name。
This commit is contained in:
@@ -546,9 +546,12 @@ func (s *ScraperService) applyProviderMatch(ctx context.Context, m *model.Media,
|
||||
zap.Error(err))
|
||||
} else if episode != nil {
|
||||
episodeUpdates := map[string]any{}
|
||||
if strings.TrimSpace(episode.Name) != "" {
|
||||
episodeUpdates["original_name"] = strings.TrimSpace(episode.Name)
|
||||
}
|
||||
// 注意: 不要把 episode.Name(单集名,如"觉醒"/"Pilot"/"第1集")写入
|
||||
// original_name —— 该字段是「整剧原名」,是合集分组键的回退依据。
|
||||
// 若每集都写成各自的单集名,同一部剧的各集 original_name 互不相同,
|
||||
// 会被前端 getSeriesKey / 后端 mediaVersionGroupKey 拆成多个独立卡片,
|
||||
// 导致同剧无法合并成合集。单集名属于单集信息,这里只回填不影响合集
|
||||
// 分组的单集字段(简介/剧照/评分/时长)。
|
||||
if strings.TrimSpace(episode.Overview) != "" {
|
||||
episodeUpdates["overview"] = strings.TrimSpace(episode.Overview)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user