From d8256b3f20cd7cb3901cc36dd10bcad455bcb8b1 Mon Sep 17 00:00:00 2001 From: adonis Date: Mon, 27 Jul 2026 21:01:18 +0330 Subject: [PATCH] fix some bugs --- app/Http/Controllers/Site/ReportController.php | 16 ++++++++-------- database/sql/deploy_settings_const.sql | 13 +++++-------- ...ttings_const_preserve_value_sync_can_edit.sql | 12 +++++------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/app/Http/Controllers/Site/ReportController.php b/app/Http/Controllers/Site/ReportController.php index f92b34f..4299330 100644 --- a/app/Http/Controllers/Site/ReportController.php +++ b/app/Http/Controllers/Site/ReportController.php @@ -228,7 +228,7 @@ class ReportController extends Controller $closed = false; - $montzar_price = 0; + $montzarLivePrice = 0; $zaarbox_price = 0; $pr_price = 0; @@ -350,11 +350,11 @@ class ReportController extends Controller $montzar_open_buy = $montzarFlags['open_buy']; $montzar_open_sell = $montzarFlags['open_sell']; - $montzar_price = (int) $customPrice['price']; + $montzarLivePrice = (int) $customPrice['price']; $config->UpdateConfig('montzar_closed', 'false'); } catch (\Throwable $e) { - $montzar_price = 0; + $montzarLivePrice = 0; \Log::error('MONZAR PRICE ERROR', [ 'message' => $e->getMessage(), @@ -364,7 +364,7 @@ class ReportController extends Controller $config->applyMontzarSyncFailure(); if (!$config->getBool('montzar_closed', true)) { - $montzar_price = $config->getInt('montzar_live_price', 0); + $montzarLivePrice = $config->getInt('montzar_live_price', 0); } } } @@ -415,8 +415,8 @@ class ReportController extends Controller if ($priceProvider === 'zaarbox' && $zaarbox_price > 0 && !$closed) { $priceValue = $zaarbox_price; $priceSource = 'zaarbox'; - } elseif ($priceProvider === 'montzar' && ($montzar_price ?? 0) !== 0 && !$closed) { - $priceValue = (int) $montzar_price; + } elseif ($priceProvider === 'montzar' && ($montzarLivePrice ?? 0) !== 0 && !$closed) { + $priceValue = (int) $montzarLivePrice; $priceSource = 'montzar'; } elseif ($priceProvider === 'main_product' && ($pr_price ?? 0) !== 0 && !$closed) { $priceValue = $pr_price; @@ -443,7 +443,7 @@ class ReportController extends Controller 'price_last' => 0, 'price' => 0, 'main_product' => $pr_price ?? 0, - 'montzar' => $montzar_price ?? 0, + 'montzar' => $montzarLivePrice ?? 0, 'zaarbox' => $zaarbox_price ?? 0, 'closed' => false, 'status' => 'no_quote', @@ -489,7 +489,7 @@ class ReportController extends Controller 'price' => $priceValue, 'price_source' => $priceSource, 'main_product' => $pr_price ?? 0, - 'montzar' => $montzar_price ?? 0, + 'montzar' => $montzarLivePrice ?? 0, 'zaarbox' => $zaarbox_price ?? 0, 'closed' => false, 'time' => now(), diff --git a/database/sql/deploy_settings_const.sql b/database/sql/deploy_settings_const.sql index 4685e82..bd156d6 100644 --- a/database/sql/deploy_settings_const.sql +++ b/database/sql/deploy_settings_const.sql @@ -231,9 +231,7 @@ INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `de SELECT 'main_product_price', 'false', 'قیمت از محصول (legacy)', 1, 1, 'از price_provider استفاده کنید' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product_price' LIMIT 1); -INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`) -SELECT 'montzar_price', 'false', 'قیمت از همکار (montzar)', 1, 1, 'معمولاً false وقتی price_provider=zaarbox' -WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_price' LIMIT 1); +-- montzar_price حذف شد — منبع همکار فقط با price_provider=montzar -- Montzar — برای تعویض provider یا پر شدن خودکار توسط cron INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`) @@ -1128,6 +1126,7 @@ DELETE FROM `settings` WHERE `key` IN ( 'referral_count_for_gift', 'store_status', 'name_en', 'bace_url', 'server_url', 'key', 'color_primary', 'color_secondary', 'price_from_nasiryan', + 'montzar_price', 'goldir_base_url', 'fee_cash', 'default_vc_number', 'payping_gateway_item', 'wss_path', 'wss_link', 'wss_trigger_path', 'wss_trigger_host', 'wss_trigger_scheme', 'wss_http_port', 'wss_socket_port' @@ -1152,7 +1151,7 @@ UPDATE `settings` SET `description` = NULL WHERE LOWER(TRIM(COALESCE(`description`, ''))) IN ('true', 'false', '0', '1', 'yes', 'no', 'in server') OR TRIM(COALESCE(`description`, '')) LIKE 'count of%'; -UPDATE `settings` SET `description` = 'منبع فعال قیمت|montzar,zaarbox,main_product' +UPDATE `settings` SET `description` = 'منبع فعال قیمت. montzar = همکار|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; UPDATE `settings` SET @@ -1297,7 +1296,7 @@ UPDATE `settings` SET `description` = 'نوع چیدمان اپ: روشن = حا UPDATE `settings` SET `description` = 'روشن: نمودار قیمت از تاریخچه ذخیره‌شده در دیتابیس خودتان. خاموش: از سرویس تابلو آنلاین (با شناسه chart_id) استفاده می‌شود.' WHERE `key` = 'chart_use_local_data'; UPDATE `settings` SET `description` = 'شناسه یکتا (UUID) نمودار در سرویس تابلو. اگر خالی باشد از شناسه پیش‌فرض سرویس استفاده می‌شود.' WHERE `key` = 'chart_id'; -UPDATE `settings` SET `description` = 'منبع دریافت قیمت لحظه‌ای برای اپ کاربر و همگام‌سازی محصولات|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; +UPDATE `settings` SET `description` = 'منبع دریافت قیمت لحظه‌ای برای اپ کاربر و همگام‌سازی محصولات. مقدار montzar = قیمت از همکار (Montzar).|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; UPDATE `settings` SET `description` = 'شناسه عددی یا نام reading_method محصول آبشده مرجع. وقتی منبع قیمت روی main_product باشد برای محاسبه استفاده می‌شود.' WHERE `key` = 'main_product'; UPDATE `settings` SET `description` = 'آدرس سرور(های) فید قیمت (/api/free). تا ۵ آدرس (JSON آرایه) پشتیبانی می‌شود؛ اگر آدرس اول پاسخ ندهد به‌ترتیب سراغ بعدی می‌رود. مقدار تکی قبلی حفظ می‌شود.' WHERE `key` = 'zaarbox_api_url'; UPDATE `settings` SET `description` = 'کلید یا UUID ردیف قیمت در پاسخ API تابلو. باید با محصول/ردیف موردنظر در سرویس خارجی یکسان باشد.' WHERE `key` = 'zaarbox_price_key'; @@ -1328,7 +1327,6 @@ UPDATE `settings` SET `description` = 'کمترین قیمت ثبت‌شده د UPDATE `settings` SET `description` = 'تاریخ آخرین به‌روزرسانی بیشترین/کمترین قیمت روز. توسط سیستم پر می‌شود.' WHERE `key` = 'price_extreme_date'; UPDATE `settings` SET `description` = 'شناسه عددی مشتری که از گزارش تراز و آمار تجمیعی حذف می‌شود (مثلاً حساب تست). چند id با کاما.' WHERE `key` = 'balance_report_exclude_customer_id'; UPDATE `settings` SET `description` = 'تنظیم legacy — از price_provider استفاده کنید. روشن بودن این گزینه دیگر توصیه نمی‌شود.' WHERE `key` = 'main_product_price'; -UPDATE `settings` SET `description` = 'تنظیم legacy — از price_provider استفاده کنید. معمولاً خاموش بماند.' WHERE `key` = 'montzar_price'; UPDATE `settings` SET `description` = 'متن کامل قوانین و مقررات استفاده از اپ که در صفحه قوانین به کاربر نشان داده می‌شود. HTML ساده مجاز است.' WHERE `key` = 'text_rule'; UPDATE `settings` SET `description` = 'متن «درباره ما» شامل معرفی مجموعه، راه‌های ارتباطی و توضیح خدمات. در صفحه مربوطه در اپ کاربر نمایش داده می‌شود.' WHERE `key` = 'text_about'; @@ -1571,7 +1569,6 @@ UPDATE `settings` SET `title_fa` = 'باز بودن خرید همکار' WHERE ` UPDATE `settings` SET `title_fa` = 'باز بودن فروش همکار' WHERE `key` = 'montzar_open_sell'; UPDATE `settings` SET `title_fa` = 'پاسخ سفارش همکار' WHERE `key` = 'montzar_order_response'; UPDATE `settings` SET `title_fa` = 'رمز API همکار' WHERE `key` = 'montzar_password'; -UPDATE `settings` SET `title_fa` = 'قیمت از همکار (montzar)' WHERE `key` = 'montzar_price'; UPDATE `settings` SET `title_fa` = 'کد محصول همکار' WHERE `key` = 'montzar_product_id'; UPDATE `settings` SET `title_fa` = 'توکن همکار (خودکار)' WHERE `key` = 'montzar_token'; UPDATE `settings` SET `title_fa` = 'مظنه خرید همکار' WHERE `key` = 'montzar_truly_buy_mazaneh'; @@ -1707,7 +1704,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( 'main_product_price', 'min_first_buy', 'min_withdraw', 'min_deposit', 'minimum_sell', 'montzar_mobile', 'montzar_open_buy', 'montzar_open_sell', - 'montzar_password', 'montzar_price', 'montzar_product_id', + 'montzar_password', 'montzar_product_id', 'open_register', 'referral_id', 'referral_limit', 'referral_gift_on_first_order', 'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer', 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 8c7e7e1..d5f157b 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 @@ -181,9 +181,7 @@ INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `de SELECT 'main_product_price', 'false', 'قیمت از محصول (legacy)', 1, 1, 'از price_provider استفاده کنید' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product_price' LIMIT 1); -INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`) -SELECT 'montzar_price', 'false', 'قیمت از همکار (montzar)', 1, 1, 'معمولاً false وقتی price_provider=zaarbox' -WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_price' LIMIT 1); +-- montzar_price حذف شد — منبع همکار فقط با price_provider=montzar -- Montzar — برای تعویض provider یا پر شدن خودکار توسط cron INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`) @@ -974,6 +972,7 @@ DELETE FROM `settings` WHERE `key` IN ( 'referral_count_for_gift', 'store_status', 'name_en', 'bace_url', 'server_url', 'key', 'color_primary', 'color_secondary', 'price_from_nasiryan', + 'montzar_price', 'goldir_base_url', 'fee_cash', 'default_vc_number', @@ -1006,7 +1005,7 @@ UPDATE `settings` SET `description` = NULL WHERE LOWER(TRIM(COALESCE(`description`, ''))) IN ('true', 'false', '0', '1', 'yes', 'no', 'in server') OR TRIM(COALESCE(`description`, '')) LIKE 'count of%'; -UPDATE `settings` SET `description` = 'منبع فعال قیمت|montzar,zaarbox,main_product' +UPDATE `settings` SET `description` = 'منبع فعال قیمت. montzar = همکار|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; UPDATE `settings` SET @@ -1185,7 +1184,7 @@ UPDATE `settings` SET `description` = 'نوع چیدمان اپ: روشن = حا UPDATE `settings` SET `description` = 'روشن: نمودار قیمت از تاریخچه ذخیره‌شده در دیتابیس خودتان. خاموش: از سرویس تابلو آنلاین (با شناسه chart_id) استفاده می‌شود.' WHERE `key` = 'chart_use_local_data'; UPDATE `settings` SET `description` = 'شناسه یکتا (UUID) نمودار در سرویس تابلو. اگر خالی باشد از شناسه پیش‌فرض سرویس استفاده می‌شود.' WHERE `key` = 'chart_id'; -UPDATE `settings` SET `description` = 'منبع دریافت قیمت لحظه‌ای برای اپ کاربر و همگام‌سازی محصولات|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; +UPDATE `settings` SET `description` = 'منبع دریافت قیمت لحظه‌ای برای اپ کاربر و همگام‌سازی محصولات. مقدار montzar = قیمت از همکار (Montzar).|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; UPDATE `settings` SET `description` = 'شناسه عددی یا نام reading_method محصول آبشده مرجع. وقتی منبع قیمت روی main_product باشد برای محاسبه استفاده می‌شود.' WHERE `key` = 'main_product'; UPDATE `settings` SET `description` = 'آدرس پایه API سرویس تابلو آنلاین (بدون مسیر انتهایی). مثال: https://example.com/api' WHERE `key` = 'zaarbox_api_url'; UPDATE `settings` SET `description` = 'کلید یا UUID ردیف قیمت در پاسخ API تابلو. باید با محصول/ردیف موردنظر در سرویس خارجی یکسان باشد.' WHERE `key` = 'zaarbox_price_key'; @@ -1214,7 +1213,6 @@ UPDATE `settings` SET `description` = 'کمترین قیمت ثبت‌شده د UPDATE `settings` SET `description` = 'تاریخ آخرین به‌روزرسانی بیشترین/کمترین قیمت روز. توسط سیستم پر می‌شود.' WHERE `key` = 'price_extreme_date'; UPDATE `settings` SET `description` = 'شناسه عددی مشتری که از گزارش تراز و آمار تجمیعی حذف می‌شود (مثلاً حساب تست). چند id با کاما.' WHERE `key` = 'balance_report_exclude_customer_id'; UPDATE `settings` SET `description` = 'تنظیم legacy — از price_provider استفاده کنید. روشن بودن این گزینه دیگر توصیه نمی‌شود.' WHERE `key` = 'main_product_price'; -UPDATE `settings` SET `description` = 'تنظیم legacy — از price_provider استفاده کنید. معمولاً خاموش بماند.' WHERE `key` = 'montzar_price'; UPDATE `settings` SET `description` = 'متن کامل قوانین و مقررات استفاده از اپ که در صفحه قوانین به کاربر نشان داده می‌شود. HTML ساده مجاز است.' WHERE `key` = 'text_rule'; UPDATE `settings` SET `description` = 'متن «درباره ما» شامل معرفی مجموعه، راه‌های ارتباطی و توضیح خدمات. در صفحه مربوطه در اپ کاربر نمایش داده می‌شود.' WHERE `key` = 'text_about'; @@ -1410,7 +1408,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( 'main_product_price', 'min_first_buy', 'min_withdraw', 'min_deposit', 'minimum_sell', 'montzar_mobile', 'montzar_open_buy', 'montzar_open_sell', - 'montzar_password', 'montzar_price', 'montzar_product_id', + 'montzar_password', 'montzar_product_id', 'open_register', 'referral_id', 'referral_limit', 'referral_gift_on_first_order', 'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',