From cda6f13308c8ac7a65b1a6520f7fb2264a11e217 Mon Sep 17 00:00:00 2001 From: adonis Date: Mon, 8 Jun 2026 11:40:30 +0330 Subject: [PATCH] price changes --- .../Controllers/Site/ReportController.php | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Site/ReportController.php b/app/Http/Controllers/Site/ReportController.php index e8fa375..5ced60b 100644 --- a/app/Http/Controllers/Site/ReportController.php +++ b/app/Http/Controllers/Site/ReportController.php @@ -146,6 +146,12 @@ class ReportController extends Controller return $payload; } + /** حداقل fallback zaarbox: ۱M تومن = ۱۰M ریال */ + private const ZAARBOX_MIN_PLAUSIBLE = 10_000_000; + + /** حداکثر fallback zaarbox/مس: ۱۰M تومن = ۱۰۰M ریال */ + private const ZAARBOX_MAX_PLAUSIBLE = 100_000_000; + /** * جلوگیری از fallback به قیمت ذخیره‌شدهٔ نامعتبر (مثلاً طلا ~785M روی پروژه مس). */ @@ -162,15 +168,19 @@ class ReportController extends Controller $min = min($up, $down); $max = max($up, $down); - if ($storedPrice < $min * 0.25 || $storedPrice > $max * 4) { - return false; - } + // up/down آلوده (مثلاً up=784M و down=23M روی مس) → بازه گشاد اعمال نشود + if ($max <= $min * 10) { + if ($storedPrice < $min * 0.25 || $storedPrice > $max * 4) { + return false; + } - return true; + return true; + } } if (in_array($priceProvider, ['zaarbox', 'main_product'], true)) { - return $storedPrice < 100_000_000; + return $storedPrice >= self::ZAARBOX_MIN_PLAUSIBLE + && $storedPrice <= self::ZAARBOX_MAX_PLAUSIBLE; } if ($priceProvider === 'montzar') {