sdsd
All checks were successful
Deploy / deploy-staging (push) Successful in 5s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-03 00:10:48 +02:00
parent efcaa88b31
commit 4a6f23cde0

View File

@@ -33,9 +33,11 @@ final class AnalyticsService
$previous = null; $previous = null;
$previousMeasuredTs = null; $previousMeasuredTs = null;
$previousIntervalRate = null; $previousIntervalRate = null;
$previousVisibleCoins = null;
$previousCoinCurrency = null;
$previousCumulativePayouts = null;
$result = []; $result = [];
$payoutIndex = 0; $payoutIndex = 0;
$lastPayoutTs = null;
$payoutsByAsset = []; $payoutsByAsset = [];
$latestPriceByCurrency = []; $latestPriceByCurrency = [];
@@ -52,7 +54,6 @@ final class AnalyticsService
$payoutAsset = strtoupper(trim((string) ($payouts[$payoutIndex]['payout_currency'] ?? $coinCurrency))); $payoutAsset = strtoupper(trim((string) ($payouts[$payoutIndex]['payout_currency'] ?? $coinCurrency)));
$payoutsByAsset[$payoutAsset] = ($payoutsByAsset[$payoutAsset] ?? 0.0) + (float) ($payouts[$payoutIndex]['coins_amount'] ?? 0); $payoutsByAsset[$payoutAsset] = ($payoutsByAsset[$payoutAsset] ?? 0.0) + (float) ($payouts[$payoutIndex]['coins_amount'] ?? 0);
$lastPayoutTs = $payoutTs;
$payoutIndex++; $payoutIndex++;
} }
@@ -74,11 +75,12 @@ final class AnalyticsService
if (is_array($previous) && $previousMeasuredTs !== null) { if (is_array($previous) && $previousMeasuredTs !== null) {
$intervalStartTs = $previousMeasuredTs; $intervalStartTs = $previousMeasuredTs;
$intervalStartCoins = (float) ($previous['coins_total'] ?? 0.0); $intervalStartCoins = (float) ($previousVisibleCoins ?? ($previous['coins_total'] ?? 0.0));
if ($previousCoinCurrency !== null && $previousCoinCurrency === $coinCurrency) {
if ($lastPayoutTs !== null && $lastPayoutTs > $previousMeasuredTs && $lastPayoutTs <= $measuredTs) { $intervalPayouts = max(0.0, $cumulativePayouts - (float) ($previousCumulativePayouts ?? 0.0));
$intervalStartTs = $lastPayoutTs; $intervalStartCoins = max(0.0, $intervalStartCoins - $intervalPayouts);
$intervalStartCoins = 0.0; } elseif ($previousCoinCurrency !== null && $previousCoinCurrency !== $coinCurrency) {
$intervalStartCoins = $visibleCoinsTotal;
} }
$intervalHours = max(0.0, ($measuredTs - $intervalStartTs) / 3600); $intervalHours = max(0.0, ($measuredTs - $intervalStartTs) / 3600);
@@ -202,6 +204,9 @@ final class AnalyticsService
} }
$previous = $row; $previous = $row;
$previousMeasuredTs = $measuredTs > 0 ? $measuredTs : null; $previousMeasuredTs = $measuredTs > 0 ? $measuredTs : null;
$previousVisibleCoins = $visibleCoinsTotal;
$previousCoinCurrency = $coinCurrency;
$previousCumulativePayouts = $cumulativePayouts;
} }
return $result; return $result;