From 552d9b07affb3b06d61dcd0a7e2d001813014bcd Mon Sep 17 00:00:00 2001 From: adonis Date: Thu, 2 Jul 2026 20:18:59 +0330 Subject: [PATCH] product time changed --- app/Http/Controllers/Controller.php | 16 +++++++++++++--- app/Services/ConfigService.php | 15 +++------------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 0b17a00..4fc9cbb 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -696,12 +696,20 @@ class Controller extends BaseController $counter->save(); } + if (!Storage::exists('accessTokenGibit') || !Storage::exists('refreshTokenGibit')) { + Storage::put('accessTokenGibit', 'توکن اولیه'); + Storage::put('refreshTokenGibit', 'توکن رفرش اولیه'); + } + $apiData['refresh'] = Http::withoutVerifying()->withToken(Storage::get('refreshTokenGibit')) ->post('https://napi.jibit.ir/ide/v1/tokens/generate', [ 'apiKey' => 'J5WxrPxPOg', 'secretKey' => '7dgeE70xQXsQL7r36j3wif6X9', ])->json(); - Storage::put('accessTokenGibit', $apiData['refresh']['accessToken']); + Storage::put('accessTokenGibit', $apiData['refresh']['accessToken'] ?? ''); + if (!empty($apiData['refresh']['refreshToken'])) { + Storage::put('refreshTokenGibit', $apiData['refresh']['refreshToken']); + } $response = Http::withoutVerifying()->withToken(Storage::get('accessTokenGibit')) ->get("https://napi.jibit.ir/ide/v1/services/matching?mobileNumber=$mobile&nationalCode=$nationalCode") @@ -713,8 +721,10 @@ class Controller extends BaseController 'apiKey' => 'J5WxrPxPOg', 'secretKey' => '7dgeE70xQXsQL7r36j3wif6X9', ])->json(); - Storage::put('accessTokenGibit', $refreshToken['accessToken']); - Storage::put('refreshTokenGibit', $refreshToken['refreshToken']); + Storage::put('accessTokenGibit', $refreshToken['accessToken'] ?? ''); + if (!empty($refreshToken['refreshToken'])) { + Storage::put('refreshTokenGibit', $refreshToken['refreshToken']); + } $response = Http::withoutVerifying()->withToken(Storage::get('accessTokenGibit')) ->get("https://napi.jibit.ir/ide/v1/services/matching?mobileNumber=$mobile&nationalCode=$nationalCode") ->json(); diff --git a/app/Services/ConfigService.php b/app/Services/ConfigService.php index 626a4e7..402bc67 100644 --- a/app/Services/ConfigService.php +++ b/app/Services/ConfigService.php @@ -640,10 +640,8 @@ class ConfigService /** * ساعت معامله یک محصول: - * - اگر سوییچ override محصول روشن باشد → فقط بازه اختصاصی خود محصول حاکم است (سراسری نادیده گرفته می‌شود). - * - اگر خاموش باشد → لایهٔ بیرونیِ ساعت کاری محصول (auto_open_at/auto_close_at) همیشه اعمال می‌شود، - * مستقل از اینکه close_price روشن باشد یا نه. - * - فقط اگر محصول هیچ بازهٔ معتبری نداشته باشد → فیلتر سراسری close_price + startDay/endDay اعمال می‌شود. + * - override روشن + بازه معتبر → فقط بازه اختصاصی همان محصول + * - در غیر این صورت → فقط وقتی close_price روشن است، startDay/endDay سراسری */ public function isProductWithinTradingHours(Product $product, ?Carbon $now = null): bool { @@ -651,10 +649,6 @@ class ConfigService return $this->isWithinTimeWindow($product->auto_open_at, $product->auto_close_at, $now); } - if ($this->hasProductTradingWindow($product->auto_open_at, $product->auto_close_at)) { - return $this->isWithinTimeWindow($product->auto_open_at, $product->auto_close_at, $now); - } - if ($this->isClosePriceEnabled() && $this->isOutsideTradingHours($now)) { return false; } @@ -666,10 +660,7 @@ class ConfigService { $title = trim((string) ($product->title ?? 'محصول')); - if ( - $this->productOverridesTradingHours($product) - || $this->hasProductTradingWindow($product->auto_open_at, $product->auto_close_at) - ) { + if ($this->productOverridesTradingHours($product)) { $open = $this->formatProductTime($product->auto_open_at); $close = $this->formatProductTime($product->auto_close_at);