fix(episode): 半转正的临时季也进季表;迁移 0091 补做 DH-1 前漏掉的季集转正
兰香缘等 26 部:季单元是资源懒建的临时单元,TMDB 集已挂在下面成了正式单元, 季单元没转正,季表丢掉整季,资源全成「元数据未覆盖」。 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
8ff1817845
commit
4866e735c8
3 files changed
+87
-1
No files matched your search
@@ -71,9 +71,17 @@ export async function loadSeasonTable(exec: Exec, entityId: string): Promise<Sea
|
||||
.orderBy("created_at")
|
||||
.execute();
|
||||
const seasons = new Map<number, SeasonInfo>();
|
||||
// 季单元还是临时、但下面已有元数据建的正式集(DH-1 之前的旧数据,季单元没跟着转正)也算元数据覆盖,
|
||||
// 否则整季从季表里消失,资源一律成了「元数据未覆盖」
|
||||
const covered = new Set(
|
||||
units
|
||||
.filter((u) => u.kind === "episode" && u.status === "confirmed" && (u.source === "tmdb" || u.source === "user"))
|
||||
.map((u) => u.season_number),
|
||||
);
|
||||
for (const u of units) {
|
||||
if (u.kind !== "season" || u.season_number === null || u.season_number < 0) continue;
|
||||
if (u.status !== "confirmed" && u.source !== "tmdb" && u.source !== "user") continue;
|
||||
if (u.status !== "confirmed" && u.source !== "tmdb" && u.source !== "user" && !covered.has(u.season_number))
|
||||
continue;
|
||||
const cur = seasons.get(u.season_number);
|
||||
// 重复季单元(并发懒建遗留)取已知的较大总集数
|
||||
const total = u.episode_total ?? null;
|
||||
|
||||
Reference in new issue
Block a user