fix(part-prices): OEM ana kartında yalnız orijinal (OE) fiyatları göster
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
OEM detay ana fiyat kartı seriyi markasız istiyordu; allowBrandless uzun kodlarda orijinal + yan sanayi tekliflerini tek havuzda medyanlıyordu → hiçbir satıcının fiyatı olmayan "hayalet medyan" ve marka stok girip- çıkmasından fiyat değişmeden sahte grafik sıçraması (2026-07-14 ölçümü: 9827622780 pg p50 4.495₺ = PSA 5.531 ile OPAR 3.459'un ortası). - filterOffersForBrand: markasız istek artık yalnız orijinal (OE/dağıtıcı etiketli) teklifleri kullanır; araç-markalı OE çapraz-ref çipleri de OE-only'ye iner, yan sanayi markasına orijinal fallback'i kaldırıldı. - Orijinal sınıflaması otoritesi = kokpit marka tur='orjinal' seti (39 marka, statik; PSA/MAIS/OPAR/ORJINAL... — FORD/GM/BMW/Mercedes/VW kokpit'te yansanayi, bilinçli dışarıda). Runtime kokpit bağımlılığı yok. - Web: kart başlığı "Orijinal (OE) fiyat analizi" + açıklama/dipnot orijinal bilgisini yazıyor; ana OEM kodunun ölü markasız batch push'u kaldırıldı. - Redis cache v2→v3 (anahtar üreticileri export'lanıp worker ile paylaşıldı); migration 0032 eski karma-havuz part_price satırlarını siler → OE-only kurallarla lazy re-backfill. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,8 @@ import {
|
||||
computeStats,
|
||||
filterOffersForBrand,
|
||||
istanbulToday,
|
||||
partPriceCurrentCacheKey,
|
||||
partPriceSeriesCacheKey,
|
||||
} from "../../part-prices/part-prices.logic";
|
||||
import { createSupplierPriceSource } from "../../part-prices/supplier-price-source";
|
||||
|
||||
@@ -114,8 +116,8 @@ export async function processPartPriceRefresh(
|
||||
|
||||
// Cache düşür — bir sonraki sayfa görüntülemesi taze pg satırını okur.
|
||||
const keys = chunk.flatMap((t) => [
|
||||
`partprice:series:v2:${t.codeNorm}::${t.brandNorm}`,
|
||||
`partprice:cur:v2:${t.codeNorm}::${t.brandNorm}`,
|
||||
partPriceSeriesCacheKey(t.codeNorm, t.brandNorm),
|
||||
partPriceCurrentCacheKey(t.codeNorm, t.brandNorm),
|
||||
]);
|
||||
if (keys.length > 0) await redis.del(...keys);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user