From 17e50de53e9928cd0885722f97ff10180fc66d01 Mon Sep 17 00:00:00 2001 From: mohammad sedighi Date: Thu, 2 Jul 2026 01:26:26 +0330 Subject: [PATCH] fix sql --- .../Controllers/Single/SingleOrderController.php | 16 ++++++++-------- app/Http/Controllers/Site/ReportController.php | 4 ++-- app/Services/ConfigService.php | 10 +++++----- app/Services/LivePriceCacheService.php | 4 ++-- app/Services/ProductDisplayPriceService.php | 4 ++-- database/sql/deploy_settings_const.sql | 2 +- ...ttings_const_preserve_value_sync_can_edit.sql | 2 +- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Single/SingleOrderController.php b/app/Http/Controllers/Single/SingleOrderController.php index 7849399..7237b3d 100644 --- a/app/Http/Controllers/Single/SingleOrderController.php +++ b/app/Http/Controllers/Single/SingleOrderController.php @@ -81,7 +81,7 @@ class SingleOrderController extends Controller $data['all_price'] = $latestPrice; $data['price'] = $basePrice; $data['price_id'] = $latestPrice?->id; - $data['difference'] = $config->orderSpreadRial(); + $data['difference'] = $config->orderPriceDiffRial(); $data['service_charge_percentage'] = $config->orderServiceChargePercentage(); $fee_free = Setting::where('key', 'fee_free')->where('is_active', true)->value('value'); @@ -122,7 +122,7 @@ class SingleOrderController extends Controller if ($data['direction'] == 1) { $data['service_charge_percentage'] = isset($data['fee_free']) && $data['fee_free'] === true ? 0 : ($data['product']['percent_fee_buy']) * $data['number']; - $data['difference'] = $data['fee'] = $this->resolveCashSpread($config, $data['product'], 1); + $data['difference'] = $data['fee'] = $this->resolveCashPriceDiff($config, $data['product'], 1); $data['total_fee'] = $data['number'] * $data['fee']; $data['price_original'] = $data['product']['price'] + $data['product']['price_profit']; $data['total_price_original'] = $data['product']['amount'] * ($data['price_original'] ?? 0); @@ -140,7 +140,7 @@ class SingleOrderController extends Controller } // Check if the user wants to sell else if ($data['direction'] == 2) { $data['service_charge_percentage'] = isset($data['fee_free']) && $data['fee_free'] === true ? 0 : ($data['product']['percent_fee_sell']) * $data['number']; - $data['difference'] = $data['fee'] = $this->resolveCashSpread($config, $data['product'], 2); + $data['difference'] = $data['fee'] = $this->resolveCashPriceDiff($config, $data['product'], 2); $data['total_fee'] = $data['number'] * $data['fee']; $data['price_original'] = $data['product']['price'] + $data['product']['price_profit']; $data['total_price_original'] = $data['product']['amount'] * ($data['price_original'] ?? 0); @@ -166,10 +166,10 @@ class SingleOrderController extends Controller } $config->assertProductTradingOpen($data['product']); if ($data['direction'] == 1) { - $data['difference'] = $this->resolveCashSpread($config, $data['product'], 1); + $data['difference'] = $this->resolveCashPriceDiff($config, $data['product'], 1); $data['service_charge_percentage'] = $data['product']['percent_fee_buy']; } elseif ($data['direction'] == 2) { - $data['difference'] = $this->resolveCashSpread($config, $data['product'], 2); + $data['difference'] = $this->resolveCashPriceDiff($config, $data['product'], 2); $data['service_charge_percentage'] = $data['product']['percent_fee_sell']; } $data['total_fee'] = $data['amount'] * $data['difference']; @@ -963,15 +963,15 @@ class SingleOrderController extends Controller * گلد علی / zaarbox / main_product: اختلاف سفارش = buy_fee/sell_fee نمایش (مثل /api/price/last). * montzar و بقیه: همان cash_fee_buy/sell محصول (رفتار قبلی ابشده‌خانگی). */ - private function resolveCashSpread(ConfigService $config, Product $product, int $direction): float + private function resolveCashPriceDiff(ConfigService $config, Product $product, int $direction): float { $provider = $config->priceProvider(); $alignWithDisplay = in_array($provider, ['zaarbox', 'main_product'], true); if ($alignWithDisplay) { $display = $direction === 1 - ? $config->displayBuySpreadRial() - : $config->displaySellSpreadRial(); + ? $config->displayBuyPriceDiffRial() + : $config->displaySellPriceDiffRial(); if ($display > 0) { return $display; diff --git a/app/Http/Controllers/Site/ReportController.php b/app/Http/Controllers/Site/ReportController.php index a6d8317..8bbbe8c 100644 --- a/app/Http/Controllers/Site/ReportController.php +++ b/app/Http/Controllers/Site/ReportController.php @@ -93,8 +93,8 @@ class ReportController extends Controller protected function buildUpDownPrices(): array { $config = app(ConfigService::class); - $diffBuy = $config->displayBuySpreadRial(); - $diffSell = $config->displaySellSpreadRial(); + $diffBuy = $config->displayBuyPriceDiffRial(); + $diffSell = $config->displaySellPriceDiffRial(); $extremes = $config->resolvedDailyBaseExtremes(); $up = $extremes['up']; diff --git a/app/Services/ConfigService.php b/app/Services/ConfigService.php index 2bb640f..626a4e7 100644 --- a/app/Services/ConfigService.php +++ b/app/Services/ConfigService.php @@ -93,7 +93,7 @@ class ConfigService } /** اختلاف خرید نمایش (/api/price/last) — fee_single / buy_fee */ - public function displayBuySpreadRial(): float + public function displayBuyPriceDiffRial(): float { $feeSingle = (float) $this->get('fee_single', 0); $buyFee = (float) $this->get('buy_fee', $feeSingle); @@ -102,7 +102,7 @@ class ConfigService } /** اختلاف فروش نمایش — fee_single / sell_fee */ - public function displaySellSpreadRial(): float + public function displaySellPriceDiffRial(): float { $feeSingle = (float) $this->get('fee_single', 0); $sellFee = (float) $this->get('sell_fee', $feeSingle); @@ -111,7 +111,7 @@ class ConfigService } /** اختلاف ریالی سفارش — fee_single، بعد fee_cash (legacy)، بعد config/fee.php */ - public function orderSpreadRial(): float + public function orderPriceDiffRial(): float { $feeSingle = $this->getString('fee_single', ''); if ($feeSingle !== '') { @@ -161,8 +161,8 @@ class ConfigService ?string $priceSource = null, array $montzarFlags = [] ): array { - $diffBuy = (float) $this->displayBuySpreadRial(); - $diffSell = (float) $this->displaySellSpreadRial(); + $diffBuy = (float) $this->displayBuyPriceDiffRial(); + $diffSell = (float) $this->displaySellPriceDiffRial(); $feeSingle = (float) $this->get('fee_single', 0); $openBuy = true; diff --git a/app/Services/LivePriceCacheService.php b/app/Services/LivePriceCacheService.php index 8594785..7d9bd99 100644 --- a/app/Services/LivePriceCacheService.php +++ b/app/Services/LivePriceCacheService.php @@ -131,8 +131,8 @@ class LivePriceCacheService $payload['up'] = $config->resolvedDailyBaseExtremes()['up'] > 0 ? [ - 'sell' => max(0, (int) ceil($config->resolvedDailyBaseExtremes()['down'] - $config->displaySellSpreadRial())), - 'buy' => (int) ceil($config->resolvedDailyBaseExtremes()['up'] + $config->displayBuySpreadRial()), + 'sell' => max(0, (int) ceil($config->resolvedDailyBaseExtremes()['down'] - $config->displaySellPriceDiffRial())), + 'buy' => (int) ceil($config->resolvedDailyBaseExtremes()['up'] + $config->displayBuyPriceDiffRial()), ] : ['sell' => $payload['sell'] ?? 0, 'buy' => $payload['buy'] ?? 0]; $payload['last_historical'] = $display->resolveHistoricalBasePrice(); diff --git a/app/Services/ProductDisplayPriceService.php b/app/Services/ProductDisplayPriceService.php index d49a842..3ccef25 100644 --- a/app/Services/ProductDisplayPriceService.php +++ b/app/Services/ProductDisplayPriceService.php @@ -465,8 +465,8 @@ class ProductDisplayPriceService } } - $diffBuy = (int) $config->displayBuySpreadRial(); - $diffSell = (int) $config->displaySellSpreadRial(); + $diffBuy = (int) $config->displayBuyPriceDiffRial(); + $diffSell = (int) $config->displaySellPriceDiffRial(); $payload = [ 'price' => $price, diff --git a/database/sql/deploy_settings_const.sql b/database/sql/deploy_settings_const.sql index e606c1c..b9d7a6f 100644 --- a/database/sql/deploy_settings_const.sql +++ b/database/sql/deploy_settings_const.sql @@ -898,7 +898,7 @@ UPDATE `settings` SET `description` = 'روشن: اگر API قیمت در دست UPDATE `settings` SET `description` = 'روشن: خارج از بازه «ساعت شروع» تا «ساعت پایان» معامله و نمایش قیمت بسته می‌شود. خاموش: محدودیت ساعتی سراسری اعمال نمی‌شود.' WHERE `key` = 'close_price'; UPDATE `settings` SET `description` = 'ساعت شروع فعالیت روزانه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود (مثلاً ۰۹:۰۰).' WHERE `key` = 'startDay'; UPDATE `settings` SET `description` = 'ساعت پایان فعالیت روزانه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود (مثلاً ۲۲:۰۰).' WHERE `key` = 'endDay'; -UPDATE `settings` SET `description` = 'اختلاف پایه (ریال) بین قیمت خرید و فروش روی مظنه. معمولاً نصف فاصله اسپرد کل است.' WHERE `key` = 'fee_single'; +UPDATE `settings` SET `description` = 'اختلاف پایه (ریال) بین قیمت خرید و فروش روی مظنه. معمولاً نصف مجموع اختلاف قیمت خرید و فروش است.' WHERE `key` = 'fee_single'; UPDATE `settings` SET `description` = 'مبلغ اضافه (ریال) روی قیمت پایه برای سمت خرید. خالی = استفاده از «اختلاف پایه».' WHERE `key` = 'buy_fee'; UPDATE `settings` SET `description` = 'مبلغ کسر (ریال) از قیمت پایه برای سمت فروش. خالی = استفاده از «اختلاف پایه».' WHERE `key` = 'sell_fee'; UPDATE `settings` SET `description` = 'درصد کارمزد هر سفارش از مبلغ معامله (اعشاری؛ مثلاً ۰٫۰۰۵ یعنی نیم در هزار).' WHERE `key` = 'fee_service_charge_percentage'; diff --git a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql index 7d7a985..5157a88 100644 --- a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql +++ b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql @@ -926,7 +926,7 @@ UPDATE `settings` SET `description` = 'روشن: اگر API قیمت در دست UPDATE `settings` SET `description` = 'روشن: خارج از بازه «ساعت شروع» تا «ساعت پایان» معامله و نمایش قیمت بسته می‌شود. خاموش: محدودیت ساعتی سراسری اعمال نمی‌شود.' WHERE `key` = 'close_price'; UPDATE `settings` SET `description` = 'ساعت شروع فعالیت روزانه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود (مثلاً ۰۹:۰۰).' WHERE `key` = 'startDay'; UPDATE `settings` SET `description` = 'ساعت پایان فعالیت روزانه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود (مثلاً ۲۲:۰۰).' WHERE `key` = 'endDay'; -UPDATE `settings` SET `description` = 'اختلاف پایه (ریال) بین قیمت خرید و فروش روی مظنه. معمولاً نصف فاصله اسپرد کل است.' WHERE `key` = 'fee_single'; +UPDATE `settings` SET `description` = 'اختلاف پایه (ریال) بین قیمت خرید و فروش روی مظنه. معمولاً نصف مجموع اختلاف قیمت خرید و فروش است.' WHERE `key` = 'fee_single'; UPDATE `settings` SET `description` = 'مبلغ اضافه (ریال) روی قیمت پایه برای سمت خرید. خالی = استفاده از «اختلاف پایه».' WHERE `key` = 'buy_fee'; UPDATE `settings` SET `description` = 'مبلغ کسر (ریال) از قیمت پایه برای سمت فروش. خالی = استفاده از «اختلاف پایه».' WHERE `key` = 'sell_fee'; UPDATE `settings` SET `description` = 'درصد کارمزد هر سفارش از مبلغ معامله (اعشاری؛ مثلاً ۰٫۰۰۵ یعنی نیم در هزار).' WHERE `key` = 'fee_service_charge_percentage';