fix: 建行前按同标题兜底,防止季节码漂移造出重复图集

男装季节码由 FWyy 改为 SSyy 后,仍按旧规则算码的实例(如本机残留的旧后端)
会把同一场秀当成新场次再建一行,今天已产生 7 组重复(Acne/Celine/AMBUSH 等)。

- 新增 IngestRepository.RunwayTitleExists(品牌 + 英文标题)
- processRunway 在「实体键未命中、准备新建」时再查一次同标题:
  命中则跳过并记 outcome=skipped_existing,note 写明「季节码漂移保护」
- 宁可跳过也不产生重复;标题含年份,正常不会误伤不同场次
This commit is contained in:
toom1996
2026-10-25 18:37:20 +08:00
parent d6ed96624a
commit db3e3efab9
3 changed files with 37 additions and 0 deletions

View File

@ -44,6 +44,12 @@ func (c *captureIngestRepo) MarkDone(ctx context.Context, id uint32, outcome, no
return nil
}
// RunwayTitleExists 捕获型仓储没有真实数据,一律视为「不存在」,
// 免得测试路径走进「同标题已存在 → 跳过」分支。
func (c *captureIngestRepo) RunwayTitleExists(ctx context.Context, brandID uint32, titleEn string) (uint32, bool, error) {
return 0, false, nil
}
// ListByBrand 捕获型仓储不需要品牌维度查询。
func (c *captureIngestRepo) ListByBrand(ctx context.Context, brandID uint32, limit int) ([]repository.BrandIngestRecord, error) {
return nil, nil