2026-06-10 13:11:51 +03:30
-- =============================================================================
-- بذر طلا (bazretala) — merge ماژولار settings + const
--
-- USE `ak`; -- یا نام دیتابیس بذر طلا
-- SOURCE bazre_tala_settings_update.sql;
--
-- اصول:
-- • value ردیف موجود overwrite نمیشود
-- • title_fa / type / can_edit / is_active بهروز میشود
-- • INSERT کلیدهای modular + کلیدهای legacy (liman_* / const)
-- • اگر const از قبل پر است → فقط خالیهای settings پر میشود
-- • DELETE ندارد — legacy میماند تا خودتان پاک کنید
--
-- قبل از اجرا: بکاپ کامل
-- =============================================================================
START TRANSACTION ;
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci ;
ALTER TABLE ` settings `
MODIFY COLUMN ` description ` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL ,
MODIFY COLUMN ` title_fa ` VARCHAR ( 255 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL ,
MODIFY COLUMN ` type ` VARCHAR ( 50 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL ;
ALTER TABLE ` const `
MODIFY COLUMN ` title_fa ` VARCHAR ( 255 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL ;
-- -----------------------------------------------------------------------------
-- قیمت — منبع و zaarbox / main_product
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'price_provider' , 'montzar' , 'منبع قیمت' , 1 , 1 , 'montzar | zaarbox | main_product | taban_gohar | etehadie'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'price_provider' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'main_product' , '13' , 'محصول آبشده (id یا reading_method)' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'main_product' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'zaarbox_api_url' , 'https://price.zaarbox.ir/api/free' , 'آدرس API تابلو Zaarbox' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'zaarbox_api_url' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'zaarbox_price_key' , '' , 'شناسه ردیف تابلو (key یا UUID)' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'zaarbox_price_key' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'chart_id' , '' , 'UUID نمودار Zaarbox' , 1 , 1 , 'خالی = ca3800a0-1f57-3528-b963-178f9168e04f'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'chart_id' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'etehadie_api_url' , 'http://109.122.246.48:4949/api/free' , 'آدرس API اتحادیه' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'etehadie_api_url' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'main_product_price' , 'false' , 'دریافت قیمت از محصولات (legacy)' , 1 , 1 , 'جایگزین: price_provider=main_product'
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 'tabanGohar_price' , 'false' , 'دریافت قیمت تابان گوهر' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'tabanGohar_price' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'show_last_price' , 'true' , 'نمایش آخرین قیمت DB وقتی API قطع است' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'show_last_price' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- Montzar / همکار (لیمان)
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_price' , 'false' , 'دریافت قیمت از همکار' , 1 , 1 , 'true یا price_provider=montzar'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_price' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_mobile' , '' , 'موبایل ورود API همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_mobile' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_password' , '' , 'رمز ورود API همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_password' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_product_id' , '25' , 'کد محصول همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_product_id' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_base_url' , 'https://limangold.ir' , 'آدرس سرور همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_base_url' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_token' , '' , 'توکن همکار (سیستم)' , 0 , 1 , 'خودکار پر میشود'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_token' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_closed' , 'false' , 'بسته بودن سرویس همکار' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_closed' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_open_buy' , 'true' , 'باز بودن خرید همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_open_buy' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_open_sell' , 'true' , 'باز بودن فروش همکار' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_open_sell' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_diff' , '0' , 'اختلاف قیمت همکار (سیستم)' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_diff' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_live_price' , '0' , 'قیمت لحظهای همکار' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_live_price' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_mazaneh' , '0' , 'مظنه همکار' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_mazaneh' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_truly_buy_mazaneh' , '0' , 'مظنه خرید واقعی همکار' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_truly_buy_mazaneh' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'montzar_truly_sell_mazaneh' , '0' , 'مظنه فروش واقعی همکار' , 0 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_truly_sell_mazaneh' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'display_montzar' , 'true' , 'نمایش بلوک همکار در UI' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'display_montzar' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'liman_token' , '' , 'توکن لیمان (legacy)' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'liman_token' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- کارمزد نمایش و سفارش
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'fee_single' , '500000' , 'اختلاف پایه نمایش (ریال)' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'fee_single' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'buy_fee' , '500000' , 'سود خرید نمایش' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'buy_fee' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'sell_fee' , '500000' , 'سود فروش نمایش' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'sell_fee' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'fee_cash' , '500000' , 'اختلاف ریالی سفارش (legacy)' , 1 , 1 , 'zaarbox/main از buy_fee هم استفاده میشود'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'fee_cash' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'fee_service_charge_percentage' , '0.005' , 'درصد کارمزد سفارش' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'fee_service_charge_percentage' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- Jibit — settings
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'jibit_verification' , 'false' , 'تأیید کارت بانکی با جیبیت' , 1 , 1 , 'true/false'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'jibit_verification' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'register_jibit_verify' , 'false' , 'تأیید کدملی/موبایل در ثبتنام' , 1 , 1 , 'true/false'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'register_jibit_verify' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- ساعات بسته بودن قیمت
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'close_price' , 'false' , 'بستن قیمت در بازه زمانی' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'close_price' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'startDay' , '10:00' , 'شروع بازه معامله' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'startDay' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'endDay' , '20:30' , 'پایان بازه معامله' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'endDay' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- const — شمارنده و موارد پرکاربرد (جدول const یا cnt)
-- -----------------------------------------------------------------------------
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'jibit_counter' , '0' , 'شمارنده درخواست جیبیت'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'jibit_counter' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'main_product' , '13' , 'محصول آبشده (پشتیبان settings)'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'main_product' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'limited_price' , '0' , 'سقف واریز اولیه'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'limited_price' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman' , '' , 'توکن لیمان (legacy const)'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_diff' , '0' , 'اختلاف لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_diff' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_price' , '0' , 'قیمت گرم لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_price' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_mazaneh' , '0' , 'مظنه لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_mazaneh' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_truly_buy_mazaneh' , '0' , 'مظنه خرید واقعی لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_truly_buy_mazaneh' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_truly_sell_mazaneh' , '0' , 'مظنه فروش واقعی لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_truly_sell_mazaneh' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'log' , '{}' , 'لاگ محصول لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'log' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_closed' , 'false' , 'بسته بودن لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_closed' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_order_response' , 'null' , 'پاسخ سفارش لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_order_response' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_password' , '' , 'رمز لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_password' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_mobile' , '' , 'موبایل لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_mobile' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_open_buy' , 'true' , 'باز بودن خرید لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_open_buy' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'liman_open_sell' , 'true' , 'باز بودن فروش لیمان'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'liman_open_sell' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'app_closed' , 'false' , 'بسته بودن اپ'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'app_closed' LIMIT 1 );
INSERT INTO ` const ` ( ` key ` , ` value ` , ` title_fa ` )
SELECT 'last_order_log' , '' , 'آخرین پاسخ سفارش (legacy)'
WHERE NOT EXISTS ( SELECT 1 FROM ` const ` WHERE ` key ` = 'last_order_log' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- settings — کلیدهای legacy (کنار montzar_*)
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'liman_password' , '' , 'رمز لیمان (legacy)' , 1 , 1 , NULL , 'text'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'liman_password' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'liman_mobile' , '' , 'موبایل لیمان (legacy)' , 1 , 1 , NULL , 'text'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'liman_mobile' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'do_send_liman' , 'false' , 'ارسال سفارش به لیمان (legacy)' , 1 , 1 , NULL , 'switch'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'do_send_liman' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'price_liman' , 'false' , 'دریافت قیمت از لیمان (legacy)' , 1 , 1 , NULL , 'switch'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'price_liman' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'montzar_order_response' , '[]' , 'پاسخ سفارش همکار' , 0 , 1 , NULL , 'longtext'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_order_response' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` , ` type ` )
SELECT 'montzar_last_product_log' , '{}' , 'لاگ محصول همکار' , 0 , 1 , NULL , 'longtext'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'montzar_last_product_log' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- const پر شده → settings خالی (مهاجرت؛ value پر overwrite نمیشود)
-- -----------------------------------------------------------------------------
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` IN ( 'montzar_token' , 'liman_token' )
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_diff'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_diff'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '0' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_price'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_live_price'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '0' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_mazaneh'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_mazaneh'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '0' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_truly_buy_mazaneh'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_truly_buy_mazaneh'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '0' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_truly_sell_mazaneh'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_truly_sell_mazaneh'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '0' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'log'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_last_product_log'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '{}' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_closed'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_closed'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_order_response'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_order_response'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' OR s . ` value ` = '[]' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_password'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` IN ( 'montzar_password' , 'liman_password' )
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_mobile'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` IN ( 'montzar_mobile' , 'liman_mobile' )
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_open_buy'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_open_buy'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'liman_open_sell'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'montzar_open_sell'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
UPDATE ` settings ` s
INNER JOIN ` const ` c ON c . ` key ` = 'main_product'
SET s . ` value ` = c . ` value ` , s . ` updated_at ` = NOW ()
WHERE s . ` key ` = 'main_product'
AND ( s . ` value ` IS NULL OR TRIM ( s . ` value ` ) = '' );
-- -----------------------------------------------------------------------------
-- API خارجی Node (HMAC) — NODE_CLIENT_ID / NODE_SHARED_SECRET
-- -----------------------------------------------------------------------------
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'node_client_id' , '' , 'شناسه کلاینت API خارجی (X-Client-Id)' , 1 , 1 , 'fallback: .env NODE_CLIENT_ID'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'node_client_id' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'node_shared_secret' , '' , 'کلید امضای HMAC API خارجی' , 1 , 1 , 'fallback: .env NODE_SHARED_SECRET'
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'node_shared_secret' LIMIT 1 );
INSERT INTO ` settings ` ( ` key ` , ` value ` , ` title_fa ` , ` can_edit ` , ` is_active ` , ` description ` )
SELECT 'external_order_api_enabled' , 'false' , 'API سفارش خارجی (get_wallet / order)' , 1 , 1 , NULL
WHERE NOT EXISTS ( SELECT 1 FROM ` settings ` WHERE ` key ` = 'external_order_api_enabled' LIMIT 1 );
-- -----------------------------------------------------------------------------
-- title_fa + type (value دست نخورده) — همه کلیدهای modular + legacy
-- -----------------------------------------------------------------------------
UPDATE ` settings ` SET ` title_fa ` = 'نام فارسی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'name_fa' ;
UPDATE ` settings ` SET ` title_fa ` = 'نام انگلیسی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'name_en' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس اپ (کاربر)' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'app_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس پایه سرور' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'bace_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'لوگوی ورود' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'logo_login' ;
UPDATE ` settings ` SET ` title_fa ` = 'لوگوی ثبتنام' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'logo_register' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس پنل ادمین' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'admin_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'عنوان PWA' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'title_pwa' ;
UPDATE ` settings ` SET ` title_fa ` = 'عنوان favicon' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'title_fav' ;
UPDATE ` settings ` SET ` title_fa ` = 'متن قوانین' , ` type ` = 'longtext' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'text_rule' ;
UPDATE ` settings ` SET ` title_fa ` = 'متن درباره ما' , ` type ` = 'longtext' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'text_about' ;
UPDATE ` settings ` SET ` title_fa ` = 'نوع فلز' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'metal_type' ;
UPDATE ` settings ` SET ` title_fa ` = 'توکن تهحساب' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'tahesab_token' ;
UPDATE ` settings ` SET ` title_fa ` = 'دیتابیس تهحساب' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'tahesab_db' ;
UPDATE ` settings ` SET ` title_fa ` = 'حساب بانکی تهحساب' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'tahesab_bank_account' ;
UPDATE ` settings ` SET ` title_fa ` = 'صفحه کسب درآمد' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_page_earn_money' ;
UPDATE ` settings ` SET ` title_fa ` = 'صفحه صندوق' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_page_fund' ;
UPDATE ` settings ` SET ` title_fa ` = 'صفحه مجوزها' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_page_permission' ;
UPDATE ` settings ` SET ` title_fa ` = 'صفحه هشدار قیمت' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_page_price_trigger' ;
UPDATE ` settings ` SET ` title_fa ` = 'صفحه طلای فیزیکی' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_page_physical_gold' ;
UPDATE ` settings ` SET ` title_fa ` = 'رنگ اصلی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'color_primary' ;
UPDATE ` settings ` SET ` title_fa ` = 'رنگ ثانویه' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'color_secondary' ;
UPDATE ` settings ` SET ` title_fa ` = 'چت' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'has_chat' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس API سرور' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'server_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'کلید اپ' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'key' ;
UPDATE ` settings ` SET ` title_fa ` = 'توکن بات تلگرام' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'telegram_bot_token' ;
UPDATE ` settings ` SET ` title_fa ` = 'توکن بات بله' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'bale_bot_token' ;
UPDATE ` settings ` SET ` title_fa ` = 'پیامک شارژ ادمین' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'charge_notif' ;
UPDATE ` settings ` SET ` title_fa ` = 'پیامک گروهی' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'group_sms' ;
UPDATE ` settings ` SET ` title_fa ` = 'فعالسازی خودکار کاربر' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'auto_active_customer' ;
UPDATE ` settings ` SET ` title_fa ` = 'ثبتنام باز' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'open_register' ;
UPDATE ` settings ` SET ` title_fa ` = 'ارسال اسناد به تهحساب' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'send_to_tahesab' ;
UPDATE ` settings ` SET ` title_fa ` = 'کد معرف اجباری (legacy)' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'is_requaire_referral' ;
UPDATE ` settings ` SET ` title_fa ` = 'کد معرف' , ` type ` = 'select' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` description ` = 'required = اجباری|required,' WHERE ` key ` = 'referral_id' ;
UPDATE ` settings ` SET ` title_fa ` = 'محدودیت دعوت' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 0 ) WHERE ` key ` = 'referral_limit' ;
UPDATE ` settings ` SET ` title_fa ` = 'پاداش معرف' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'gift_for_referrer' ;
UPDATE ` settings ` SET ` title_fa ` = 'پاداش معرفیشده' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'gift_for_referral' ;
UPDATE ` settings ` SET ` title_fa ` = 'حداقل برداشت' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'min_withdraw' ;
UPDATE ` settings ` SET ` title_fa ` = 'حداقل اولین خرید' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'min_first_buy' ;
UPDATE ` settings ` SET ` title_fa ` = 'حداقل فروش' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'minimum_sell' ;
UPDATE ` settings ` SET ` title_fa ` = 'کارمزد رایگان (تعداد)' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'fee_free' ;
UPDATE ` settings ` SET ` title_fa ` = 'کارمزد درصدی (legacy)' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'fee' ;
UPDATE ` settings ` SET ` title_fa ` = 'کارمزد درصدی' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'fee_service_charge_percentage' ;
UPDATE ` settings ` SET ` title_fa ` = 'کارمزد درصدی (alias)' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'service_charge_percentage' ;
2026-06-14 21:42:21 +03:30
UPDATE ` settings ` SET ` title_fa ` = 'کارمزد ریالی' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'fee_cash' ;
2026-06-10 13:11:51 +03:30
UPDATE ` settings ` SET ` title_fa ` = 'اختلاف با قیمت واقعی' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'fee_single' ;
UPDATE ` settings ` SET ` title_fa ` = 'سود خرید' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'buy_fee' ;
UPDATE ` settings ` SET ` title_fa ` = 'سود فروش' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'sell_fee' ;
UPDATE ` settings ` SET ` title_fa ` = 'منبع قیمت' , ` type ` = 'select' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 1 , ` description ` = 'montzar,zaarbox,main_product,etehadie,taban_gohar' WHERE ` key ` = 'price_provider' ;
UPDATE ` settings ` SET ` title_fa ` = 'منبع قیمت (legacy)' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'price_primary_source' ;
UPDATE ` settings ` SET ` title_fa ` = 'محصول آبشده' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 1 WHERE ` key ` = 'main_product' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس API Zaarbox' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 1 WHERE ` key ` = 'zaarbox_api_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'شناسه ردیف Zaarbox' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 1 WHERE ` key ` = 'zaarbox_price_key' ;
UPDATE ` settings ` SET ` title_fa ` = 'UUID نمودار Zaarbox' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 1 WHERE ` key ` = 'chart_id' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس API اتحادیه' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'etehadie_api_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'دریافت قیمت از محصولات' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'main_product_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'دریافت قیمت تابانگوهر' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'tabanGohar_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'نشان دادن آخرین قیمت' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'show_last_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'بستن قیمت در ساعات مشخص' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'close_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'ساعت شروع' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'startDay' ;
UPDATE ` settings ` SET ` title_fa ` = 'ساعت پایان' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'endDay' ;
UPDATE ` settings ` SET ` title_fa ` = 'بیشترین قیمت امروز' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'up_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'کمترین قیمت امروز' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'down_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'تاریخ min/max روز' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'price_extreme_date' ;
UPDATE ` settings ` SET ` title_fa ` = 'دریافت قیمت از همکار' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'montzar_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'نمایش بلوک همکار' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'display_montzar' ;
UPDATE ` settings ` SET ` title_fa ` = 'شماره همراه همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'montzar_mobile' ;
UPDATE ` settings ` SET ` title_fa ` = 'کلمه عبور همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'montzar_password' ;
UPDATE ` settings ` SET ` title_fa ` = 'کد محصول همکار' , ` type ` = 'number' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'montzar_product_id' ;
UPDATE ` settings ` SET ` title_fa ` = 'آدرس API همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_base_url' ;
UPDATE ` settings ` SET ` title_fa ` = 'توکن همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_token' ;
UPDATE ` settings ` SET ` title_fa ` = 'بسته بودن سرویس همکار' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_closed' ;
UPDATE ` settings ` SET ` title_fa ` = 'باز بودن خرید همکار' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_open_buy' ;
UPDATE ` settings ` SET ` title_fa ` = 'باز بودن فروش همکار' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_open_sell' ;
UPDATE ` settings ` SET ` title_fa ` = 'اختلاف قیمت همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_diff' ;
UPDATE ` settings ` SET ` title_fa ` = 'قیمت لحظهای همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_live_price' ;
UPDATE ` settings ` SET ` title_fa ` = 'مظنه همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_mazaneh' ;
UPDATE ` settings ` SET ` title_fa ` = 'مظنه خرید واقعی همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_truly_buy_mazaneh' ;
UPDATE ` settings ` SET ` title_fa ` = 'مظنه فروش واقعی همکار' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_truly_sell_mazaneh' ;
UPDATE ` settings ` SET ` title_fa ` = 'پاسخ سفارش همکار' , ` type ` = 'longtext' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_order_response' ;
UPDATE ` settings ` SET ` title_fa ` = 'لاگ محصول همکار' , ` type ` = 'longtext' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` can_edit ` = 0 WHERE ` key ` = 'montzar_last_product_log' ;
UPDATE ` settings ` SET ` title_fa ` = 'توکن لیمان (legacy)' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'liman_token' ;
UPDATE ` settings ` SET ` title_fa ` = 'رمز لیمان (legacy)' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'liman_password' ;
UPDATE ` settings ` SET ` title_fa ` = 'موبایل لیمان (legacy)' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'liman_mobile' ;
UPDATE ` settings ` SET ` title_fa ` = 'ارسال سفارش به لیمان' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'do_send_liman' ;
UPDATE ` settings ` SET ` title_fa ` = 'دریافت قیمت از لیمان' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'price_liman' ;
UPDATE ` settings ` SET ` title_fa ` = 'تأیید کارت با جیبیت' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'jibit_verification' ;
UPDATE ` settings ` SET ` title_fa ` = 'تأیید کد ملی در ثبتنام' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'register_jibit_verify' ;
UPDATE ` settings ` SET ` title_fa ` = 'بروزرسانی قیمت در لیست' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'product_update_price_on_list' ;
UPDATE ` settings ` SET ` title_fa ` = 'باز/بسته خودکار محصول در لیست' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'product_auto_close_open_on_list' ;
UPDATE ` settings ` SET ` title_fa ` = 'شناسه کلاینت API خارجی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'node_client_id' ;
UPDATE ` settings ` SET ` title_fa ` = 'کلید HMAC API خارجی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'node_shared_secret' ;
UPDATE ` settings ` SET ` title_fa ` = 'API سفارش خارجی' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'external_order_api_enabled' ;
UPDATE ` settings ` SET ` title_fa ` = 'پیامرسان پشتیبانی' , ` type ` = 'select' , ` is_active ` = COALESCE ( ` is_active ` , 1 ), ` description ` = 'bale,telegram,whatsapp,rubika,eitaa,soroush' WHERE ` key ` = 'support_messenger' ;
UPDATE ` settings ` SET ` title_fa ` = 'شناسه پشتیبانی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'support_messenger_id' ;
UPDATE ` settings ` SET ` title_fa ` = 'متن پشتیبانی' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'support_messenger_text' ;
UPDATE ` settings ` SET ` title_fa ` = 'نام Montify' , ` type ` = 'text' , ` is_active ` = COALESCE ( ` is_active ` , 1 ) WHERE ` key ` = 'montify_name' ;
UPDATE ` settings ` SET ` title_fa ` = 'API سود طلا' , ` type ` = 'switch' , ` is_active ` = COALESCE ( ` is_active ` , 0 ) WHERE ` key ` = 'profit_gold_api_enabled' ;
-- const — عنوان فارسی
UPDATE ` const ` SET ` title_fa ` = 'شمارنده جیبیت' WHERE ` key ` = 'jibit_counter' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'محصول آبشده (fallback)' WHERE ` key ` = 'main_product' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'سقف واریز اولیه' WHERE ` key ` = 'limited_price' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'توکن لیمان (legacy)' WHERE ` key ` = 'liman' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'اختلاف لیمان' WHERE ` key ` = 'liman_diff' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'قیمت گرم لیمان' WHERE ` key ` = 'liman_price' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'مظنه لیمان' WHERE ` key ` = 'liman_mazaneh' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'بسته بودن لیمان' WHERE ` key ` = 'liman_closed' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'لاگ محصول لیمان' WHERE ` key ` = 'log' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'بسته بودن اپ' WHERE ` key ` = 'app_closed' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
UPDATE ` const ` SET ` title_fa ` = 'لاگ آخرین سفارش' WHERE ` key ` = 'last_order_log' AND ( ` title_fa ` IS NULL OR TRIM ( ` title_fa ` ) = '' );
-- type پیشفرض برای ردیفهای بدون type
UPDATE ` settings ` SET ` type ` = 'text' WHERE ( ` type ` IS NULL OR TRIM ( ` type ` ) = '' ) AND ` key ` NOT IN (
'montzar_order_response' , 'montzar_last_product_log' , 'text_rule' , 'text_about'
);
-- =============================================================================
-- products — محدودیت مبلغ سفارش (ستونهای جدول products؛ مقدار از پنل ادمین)
-- patch: database/sql/add_product_order_limit_columns.sql
-- =============================================================================
SET @ db = DATABASE ();
SET @ sql = IF (
( SELECT COUNT ( * ) FROM information_schema . COLUMNS
WHERE TABLE_SCHEMA = @ db AND TABLE_NAME = 'products' AND COLUMN_NAME = 'order_limit_enabled' ) = 0 ,
'ALTER TABLE `products` ADD COLUMN `order_limit_enabled` TINYINT(1) NOT NULL DEFAULT 0 AFTER `percent_fee_buy`' ,
'SELECT 1'
);
PREPARE stmt FROM @ sql ;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt ;
SET @ sql = IF (
( SELECT COUNT ( * ) FROM information_schema . COLUMNS
WHERE TABLE_SCHEMA = @ db AND TABLE_NAME = 'products' AND COLUMN_NAME = 'min_order_cash' ) = 0 ,
'ALTER TABLE `products` ADD COLUMN `min_order_cash` BIGINT UNSIGNED NULL DEFAULT NULL AFTER `order_limit_enabled`' ,
'SELECT 1'
);
PREPARE stmt FROM @ sql ;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt ;
SET @ sql = IF (
( SELECT COUNT ( * ) FROM information_schema . COLUMNS
WHERE TABLE_SCHEMA = @ db AND TABLE_NAME = 'products' AND COLUMN_NAME = 'max_order_cash' ) = 0 ,
'ALTER TABLE `products` ADD COLUMN `max_order_cash` BIGINT UNSIGNED NULL DEFAULT NULL AFTER `min_order_cash`' ,
'SELECT 1'
);
PREPARE stmt FROM @ sql ;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt ;
COMMIT ;
SELECT 'bazre_tala_settings_update.sql finished' AS status ;
-- بذر طلا: valueهای اختصاصی (name_fa، price_provider، montzar_* و ...) از پنل تنظیم میشود.
-- حذف legacy (وقتی بکاند قدیمی خاموش شد): goldali_cleanup_legacy_keys.sql