fix: havuz uyarısı tek ölçüm yerine 7 günlük ortalamaya kıyaslasın (yavaş erime de yakalansın)
This commit is contained in:
+11
-2
@@ -970,13 +970,22 @@ const server = http.createServer(async (req, res) => {
|
||||
const son = gecmis[0] || null;
|
||||
// Son 7 günün en yükseği — bugünkü sayı buna göre kıyaslanır.
|
||||
const haftaBas = new Date(Date.now() - 7 * 864e5).toISOString();
|
||||
const hafta = gecmis.filter((r) => r.zaman >= haftaBas);
|
||||
const hafta = gecmis.filter((r) => r.zaman >= haftaBas && r.kaynak_toplam != null);
|
||||
const zirve = hafta.reduce((m, r) => Math.max(m, r.kaynak_toplam || 0), 0);
|
||||
// Referans ölçüt ORTALAMA; zirve yalnızca bağlam için gösterilir.
|
||||
const ortalama = hafta.length ? Math.round(hafta.reduce((t, r) => t + r.kaynak_toplam, 0) / hafta.length) : null;
|
||||
const yeterliVeri = hafta.length >= 5;
|
||||
return json(res, 200, {
|
||||
success: true,
|
||||
son,
|
||||
haftalikOrtalama: ortalama,
|
||||
haftalikZirve: zirve || null,
|
||||
zirveyeOran: son?.kaynak_toplam && zirve ? Number((son.kaynak_toplam / zirve).toFixed(3)) : null,
|
||||
olcumAdedi: hafta.length,
|
||||
yeterliVeri,
|
||||
ortalamayaOran:
|
||||
yeterliVeri && son?.kaynak_toplam && ortalama
|
||||
? Number((son.kaynak_toplam / ortalama).toFixed(3))
|
||||
: null,
|
||||
olcumSayisi: gecmis.length,
|
||||
gecmis,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user