1761 lines
140 KiB
SQL
1761 lines
140 KiB
SQL
-- =============================================================================
|
||
-- deploy_settings_const.sql — آپدیت settings + const (بدون تغییر schema)
|
||
--
|
||
-- workflow deploy (DB موجود):
|
||
-- 0) بکاپ
|
||
-- 1) mysql ... < database/sql/baseline_migrations.sql ← حتماً قبل از migrate
|
||
-- 2) php artisan migrate
|
||
-- 3) mysql ... < database/sql/deploy_settings_const.sql
|
||
--
|
||
-- workflow نصب از صفر (DB خالی):
|
||
-- 1) php artisan migrate ← schema dump + incremental
|
||
-- 2) mysql ... < database/sql/deploy_settings_const.sql
|
||
--
|
||
-- اصول:
|
||
-- • چند بار قابل اجرا (idempotent)
|
||
-- • value / is_active ردیفهای موجود هرگز دست نخورده — فقط INSERT برای کلید جدید
|
||
-- • can_edit / title_fa / description / type هر deploy از این فایل بهروز میشوند
|
||
-- • schema (جدول/ستون) فقط با migrate — نه این فایل
|
||
--
|
||
-- ⚠️ هرگز UPDATE روی `value` برای ردیف موجود ننویس (مگر شرط خالی بودن صریح و مستند).
|
||
-- ادمین/کارفرما مقدار را در پنل تنظیم میکند؛ این فایل فقط کلید جدید با default میسازد.
|
||
--
|
||
-- قبل از اجرا: USE `نام_دیتابیس`; + بکاپ
|
||
-- =============================================================================
|
||
|
||
START TRANSACTION;
|
||
|
||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
||
SET @db = DATABASE();
|
||
|
||
-- متن پیشفرض invite_link_text (تکخطی با CHAR(10) — سازگار با همه کلاینتهای SQL)
|
||
SET @invite_link_default_text = CONCAT(
|
||
'⭐️الان طلا بخر؛ آخر ماه سودشو ببر!', CHAR(10),
|
||
'با خرید طلای آبشده در مقدارهای کم ولی مستمر، سود بیشتری ببر!', CHAR(10),
|
||
CHAR(10),
|
||
'این دعوت نامه از طرف "٪نام" عزیز برای شما ارسال شده تا شما هم از بازار طلای ما جا نمونید.', CHAR(10),
|
||
'روی لینک زیر کلیک کنید و ثبت نام خود را تکمیل کنید.', CHAR(10),
|
||
CHAR(10),
|
||
'٪لینک'
|
||
);
|
||
SET @invite_link_desc = CONCAT(
|
||
'متن پیام اشتراکگذاری دعوت در اپ کاربر (دکمه «اشتراک با دوستان»، پروفایل، کسب درآمد و مودال اشتراک).', CHAR(10),
|
||
CHAR(10),
|
||
'متغیرها:', CHAR(10),
|
||
'• %نام یا ٪نام = نام کامل کاربر دعوتکننده', CHAR(10),
|
||
'• %لینک یا ٪لینک = آدرس ثبتنام با کد معرف', CHAR(10),
|
||
CHAR(10),
|
||
'فاصله اختیاری بعد از % مجاز است (مثلاً % نام).', CHAR(10),
|
||
'خالی = متن پیشفرض اپ.'
|
||
);
|
||
|
||
SET @deposit_guide_desc = CONCAT(
|
||
'متن راهنمای واریز در مودال شارژ حساب.', CHAR(10),
|
||
CHAR(10),
|
||
'متغیرها:', CHAR(10),
|
||
'• %نام یا ٪نام = نام صاحب حساب', CHAR(10),
|
||
'• %کارت یا ٪کارت = شماره کارت', CHAR(10),
|
||
'• %شبا یا ٪شبا = شماره شبا', CHAR(10),
|
||
CHAR(10),
|
||
'فاصله بعد از % اختیاری است.', CHAR(10),
|
||
'خالی = متن پیشفرض اپ.'
|
||
);
|
||
SET @deposit_support_msg_desc = CONCAT(
|
||
'متن پیام هنگام کلیک «پیام به پشتیبانی» در مودال واریز.', CHAR(10),
|
||
CHAR(10),
|
||
'متغیر:', CHAR(10),
|
||
'• %نام یا ٪نام = نام صاحب حساب', CHAR(10),
|
||
CHAR(10),
|
||
'پیشفرض اپ: باسلام، %نام هستم. کدپیگیری و مبلغ واریزی من:'
|
||
);
|
||
|
||
SET @price_channel_message_desc = CONCAT(
|
||
'متن پیامی که با تغییر قیمت به کانال فرستاده میشود.', CHAR(10),
|
||
'هر متغیر را عیناً در قالب بنویسید (با % یا ٪).', CHAR(10),
|
||
CHAR(10),
|
||
'قیمت تابلو — مثل اپ:', CHAR(10),
|
||
'• %گرم_فروش = عدد بزرگ صفحهٔ اصلی (فروش هر گرم)', CHAR(10),
|
||
'• %گرم_خرید = خرید هر گرم', CHAR(10),
|
||
'• %مثقال_فروش = فروش هر مثقال', CHAR(10),
|
||
'• %مثقال_خرید = خرید هر مثقال', CHAR(10),
|
||
CHAR(10),
|
||
'زمان ارسال:', CHAR(10),
|
||
'• %تاریخ = تاریخ شمسی', CHAR(10),
|
||
'• %ساعت = ساعت', CHAR(10),
|
||
CHAR(10),
|
||
'نام فروشگاه:', CHAR(10),
|
||
'• %نام = فقط نام فروشگاه', CHAR(10),
|
||
'• %عنوان = خط آماده: 📊 قیمت لحظهای + نام', CHAR(10),
|
||
CHAR(10),
|
||
'تماس (از فیلدهای پایین همین بخش):', CHAR(10),
|
||
'• %شماره = شماره تماس', CHAR(10),
|
||
'• %آیدی = آیدی کانال', CHAR(10),
|
||
'• %لینک = لینک', CHAR(10),
|
||
CHAR(10),
|
||
'اختیاری:', CHAR(10),
|
||
'• %محصولات = لیست همهٔ محصولات', CHAR(10),
|
||
'• %فوتر = شماره + آیدی + لینک با هم', CHAR(10),
|
||
CHAR(10),
|
||
'خالی = قالب پیشفرض.'
|
||
);
|
||
SET @price_channel_default_text = CONCAT(
|
||
'سلام 👋', CHAR(10),
|
||
'%عنوان', CHAR(10),
|
||
'📅 %تاریخ 🕐 %ساعت', CHAR(10),
|
||
CHAR(10),
|
||
'🔴 خرید گرم: %گرم_خرید', CHAR(10),
|
||
'🟢 فروش گرم: %گرم_فروش', CHAR(10),
|
||
'🔴 خرید مثقال: %مثقال_خرید', CHAR(10),
|
||
'🟢 فروش مثقال: %مثقال_فروش', CHAR(10),
|
||
CHAR(10),
|
||
'📞 %شماره', CHAR(10),
|
||
'%آیدی', CHAR(10),
|
||
'%لینک'
|
||
);
|
||
|
||
-- ستونهای اختیاری settings (بعضی DBهای قدیمی ندارند)
|
||
SET @sql = IF(
|
||
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'settings' AND COLUMN_NAME = 'is_exist') = 0,
|
||
'ALTER TABLE `settings` ADD COLUMN `is_exist` TINYINT(1) NOT NULL DEFAULT 0',
|
||
'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 = 'settings' AND COLUMN_NAME = 'type') = 0,
|
||
IF(
|
||
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'settings' AND COLUMN_NAME = 'description') > 0,
|
||
'ALTER TABLE `settings` ADD COLUMN `type` VARCHAR(50) NULL DEFAULT NULL AFTER `description`',
|
||
'ALTER TABLE `settings` ADD COLUMN `type` VARCHAR(50) NULL DEFAULT NULL'
|
||
),
|
||
'SELECT 1'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- charset — نمایش فارسی در پنل ادمین
|
||
-- ---------------------------------------------------------------------------
|
||
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;
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- اصلاح باگها / rename کلیدهای قدیمی
|
||
-- ---------------------------------------------------------------------------
|
||
UPDATE `settings` SET `key` = 'logo_login' WHERE `key` LIKE 'logo_login%' AND `key` <> 'logo_login';
|
||
|
||
DELETE s1 FROM `settings` s1
|
||
INNER JOIN `settings` s2 ON s1.`key` = s2.`key` AND s1.`id` < s2.`id`
|
||
WHERE s1.`key` = 'montzar_closed';
|
||
|
||
UPDATE `settings` SET `key` = 'support_messenger_id' WHERE `key` = 'bale_support_id';
|
||
UPDATE `settings` SET `key` = 'support_messenger_text' WHERE `key` = 'bale_support_text';
|
||
|
||
-- legacy is_requaire_referral → referral_id: فقط rename کلید؛ value/is_active دست نمیخورد
|
||
|
||
-- SETTINGS — کلیدهای جدید (INSERT فقط اگر key نبود)
|
||
-- =============================================================================
|
||
|
||
-- کلیدهای پایه برند (هر DB — value خالی؛ از پنل پر میشود)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'name_fa', '', 'نام فارسی اپ', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'name_fa' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'app_url', '', 'آدرس اپ (کاربر)', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'app_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'admin_url', '', 'آدرس پنل ادمین', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'admin_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'logo_login', '', 'لوگوی صفحه ورود', 0, 0, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'logo_login' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'logo_register', '', 'لوگوی ثبتنام', 0, 0, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'logo_register' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'has_page_earn_money', 'false', 'صفحه کسب درآمد', 1, 1, NULL, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'has_page_earn_money' 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);
|
||
|
||
-- قیمت zaarbox (اگر از قبل دارید value دست نخورده)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'chart_use_local_data', 'false', 'نمودار از داده خود سایت', 1, 1,
|
||
'خاموش = Zaarbox (chart_id) | روشن = تاریخچه ذخیرهشده prices', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'chart_use_local_data' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'chart_id', '', 'UUID نمودار Zaarbox', 1, 1, 'خالی = UUID پیشفرض سرویس', 'text'
|
||
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 'show_last_price', 'true', 'نمایش آخرین قیمت DB اگر API قطع شد', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'show_last_price' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'show_gold_ounce_price', 'false', 'نمایش قیمت انس طلا', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'show_gold_ounce_price' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
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 — برای تعویض provider یا پر شدن خودکار توسط cron
|
||
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, NULL
|
||
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_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, 'سیستم پر میکند'
|
||
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);
|
||
|
||
-- API خارجی Node (HMAC)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'node_client_id', '', 'شناسه کلاینت API خارجی (X-Client-Id)', 1, 1, NULL
|
||
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, NULL
|
||
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', 'true', 'فعالسازی API سفارش خارجی (get_wallet / order)', 1, 1, 'true + node_client_id + node_shared_secret'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'external_order_api_enabled' LIMIT 1);
|
||
|
||
-- SSE قیمت (last/list از لاراول)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'wss_enabled', 'true', 'قیمت لحظهای (SSE)', 0, 1, 'روشن: اپ به sse_path وصل میشود؛ خاموش: polling /api/price/last و /customer/product/list', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'wss_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'sse_path', '/api/price/stream', 'مسیر SSE قیمت', 0, 1, 'GET لاراول — استریم event:last و event:list با payload کامل', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sse_path' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'tracking_systems', '[]', 'سایتهای ریگیری', 1, 1,
|
||
'JSON لیست سایتهای ریگیری — هر مورد: id، name، url. از منوی «سایتهای ریگیری» ویرایش میشود.', 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'tracking_systems_enabled', 'false', 'نمایش سایتهای ریگیری', 1, 1,
|
||
'روشن: منوی «سایتهای ریگیری» در ادمین و اپ مشتری نمایش داده میشود. خاموش: مخفی است.', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'montify_name', '', 'نام فروشگاه در درگاه', 0, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montify_name' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'is_store', 'false', 'حالت فروشگاهی', 0, 1, 'فعال = سبد خرید، دستهبندی، حواله، تخفیف', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'is_store' LIMIT 1);
|
||
|
||
-- Jibit
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'jibit_verification', 'true', 'تأیید کارت بانکی با جیبیت', 1, 1, NULL
|
||
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', 'true', 'تأیید کدملی/موبایل در ثبتنام', 1, 1, NULL
|
||
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', '09: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', '22:00', 'پایان بازه معامله', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'endDay' LIMIT 1);
|
||
|
||
-- ثبتنام / معرف
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'auto_active_customer', 'false', 'فعالسازی خودکار کاربر', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'auto_active_customer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'fee_free', '0', 'تعداد سفارش اول بدون کارمزد', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_free' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'charge_notif', 'true', 'پیامک شارژ ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'charge_notif' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'customer_direct_sms', 'false', 'پیامک تکی به مشتری از لیست', 0, 1,
|
||
'روشن: در لیست مشتریان دکمه ارسال پیامک تکی نمایش داده میشود. خاموش: مخفی است. فقط از صفحه دیپلوی قابل تغییر است.',
|
||
'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'customer_direct_sms' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'enable_conditional_order', 'false', 'سفارش شرطی', 0, 1,
|
||
'روشن: قابلیت سفارش شرطی سراسری فعال است. خاموش: منو و ارزیابی اجرا نمیشود. فقط از دیپلوی قابل تغییر است.',
|
||
'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'enable_conditional_order' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'jibit_enabled', 'true', 'احراز هویت جیبیت', 0, 1,
|
||
'روشن: سرویس احراز هویت جیبیت (تطبیق کد ملی/موبایل و کارت بانکی) فعال است. خاموش: هیچ فراخوانی به جیبیت انجام نمیشود و احراز هویت خودکار کار نمیکند. فقط از صفحه دیپلوی قابل تغییر است.',
|
||
'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'jibit_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'fee_conditional_order', '0', 'کارمزد سفارش شرطی', 1, 1,
|
||
'مبلغ ریالی که با هر بار ثبت تریگر از کیف پول ریالی مشتری کم میشود. صفر = رایگان.',
|
||
'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_conditional_order' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_order_admin', 'true', 'پیامک خرید/فروش به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_order_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_order_customer', 'true', 'پیامک خرید/فروش به مشتری', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_order_customer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_withdraw_admin', 'true', 'پیامک درخواست برداشت به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_withdraw_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_withdraw_otp', 'true', 'پیامک رمز برداشت', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_withdraw_otp' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_login_otp', 'true', 'پیامک رمز ورود', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_login_otp' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_gateway_charge_admin', 'true', 'پیامک شارژ درگاه به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_gateway_charge_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_register_customer', 'true', 'پیامک خوشآمد ثبتنام', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_register_customer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_register_admin', 'true', 'پیامک ثبتنام به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_register_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_jibit_admin', 'true', 'پیامک احراز هویت به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_jibit_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_bank_card_admin', 'true', 'پیامک کارت بانکی به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_bank_card_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_bank_card_customer', 'true', 'پیامک تایید کارت به مشتری', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_bank_card_customer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_fund_withdraw_admin', 'true', 'پیامک برداشت قلک به ادمین', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_fund_withdraw_admin' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_fund_withdraw_customer', 'true', 'پیامک برداشت قلک به مشتری', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_fund_withdraw_customer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_price_trigger', 'true', 'پیامک هشدار قیمت', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_price_trigger' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'sms_notif_wallet_alert', 'true', 'پیامک هشدار اعتبار پنل پیامک', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_notif_wallet_alert' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'gift_for_referrer', '0.005', 'پاداش معرف', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'gift_for_referrer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'gift_for_referral', '0', 'پاداش معرفشونده', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'gift_for_referral' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'register_referral_sms_to_referrer', 'false', 'SMS به معرف هنگام ثبتنام', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'register_referral_sms_to_referrer' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'register_referral_bonus_message', 'false', 'پیام پاداش در SMS ثبتنام', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'register_referral_bonus_message' LIMIT 1);
|
||
|
||
-- default: false — value ردیف موجود در deploy عوض نمیشود (فقط INSERT اگر کلید نبود)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'referral_gift_on_first_order', 'false', 'پاداش معرف پس از اولین سفارش', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_gift_on_first_order' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'referral_limit', '', 'محدودیت دعوت', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_limit' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'group_sms', 'false', 'پیامک گروهی', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'group_sms' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'sms_panel', 'true', 'پنل پیامک (کیف پول)', 0, 1, 'روشن: پنل پیامک و کیف پول billing فعال است. خاموش: پیامکها مثل قبل ارسال میشوند بدون billing.', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_panel' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'tahesab_host', '', 'آدرس IP سرور تهحساب', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tahesab_host' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'tahesab_port', '', 'پورت سرور تهحساب', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tahesab_port' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'tahesab_token', '', 'توکن تهحساب', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tahesab_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'tahesab_db', '', 'دیتابیس تهحساب', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tahesab_db' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'tahesab_bank_account', '', 'حساب بانکی تهحساب', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tahesab_bank_account' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'send_to_tahesab', 'false', 'ارسال به تهحساب (قدیمی)', 0, 0, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'send_to_tahesab' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'accounting_provider', 'none', 'سیستم حسابداری', 0, 1, 'none,pargar,tahesab,zarin'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'accounting_provider' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_api', '', 'آدرس API زرین', 0, 1, 'آدرس پایه وبسرویس زرین (بدون /ZarrinService/accounting).', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_api' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_token', '', 'توکن زرین', 0, 1, 'توکن مکمل API زرین که در نرمافزار زرین تعریف میشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_noe_kar', '16', 'نوع کار پیشفرض زرین', 0, 1, 'کد noeKar هنگام ساخت کار ساخته در زرین.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_noe_kar' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_gorohe_kar', '52', 'گروه کار پیشفرض زرین', 0, 1, 'کد gorooheKar هنگام ساخت/جستجوی کار در زرین. برای جداسازی چند پنل روی یک زرین، برای هر پنل مقدار متفاوت بگذارید.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_gorohe_kar' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_name_g', '', 'نام گروه حساب مشتریان زرین', 0, 1, 'پارامتر nameG در addhesab. اگر چند پنل یک توکن زرین دارند، برای هر پنل نام گروه متفاوت بگذارید. خالی = نام برند (name_fa).', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_name_g' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'zarin_uid_prefix', '', 'پیشوند عددی uid زرین', 0, 1, 'فقط عدد. وقتی چند پنل یک زرین دارند باید متفاوت باشد تا uid تکراری نشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zarin_uid_prefix' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'send_to_pargar', 'false', 'ارسال به پرگار (قدیمی)', 0, 0, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'send_to_pargar' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'pargar_username', '', 'نام کاربری API پرگار', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'pargar_username' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'pargar_password', '', 'رمز عبور API پرگار', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'pargar_password' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'pargar_api_token', '', 'توکن ثابت API پرگار', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'pargar_api_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'pargar_item_id_rial', '0', 'کد کالای ریال پرگار', 0, 1,
|
||
'کد کالا برای اسناد واریز/برداشت ریالی در پرگار. صفر = استفاده از کد طلا با وزن صفر.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'pargar_item_id_rial' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'pargar_item_id_gold', '11', 'کد کالای طلا پرگار', 0, 1,
|
||
'کد کالای طلا (کیف اصلی / آبشده) در پرگار برای اسناد وزندار.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'pargar_item_id_gold' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'telegram_bot_token', '', 'توکن بات تلگرام', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'telegram_bot_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'bale_bot_token', '', 'توکن بات بله', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'bale_bot_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'rubika_bot_token', '', 'توکن بات روبیکا', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'rubika_bot_token' LIMIT 1);
|
||
|
||
-- ===========================================================================
|
||
-- ارسال قیمت به کانالهای پیامرسان (بله / تلگرام / روبیکا)
|
||
-- • محتوا (can_edit=1): روشن/خاموش، انتخاب پیامرسان، اختلاف، خطوط پایانی، فاصله
|
||
-- • سیستمی (can_edit=0): مقصد ارسال هر پیامرسان (آیدی چنل/گروه)
|
||
-- • توکنها همان bale_bot_token / telegram_bot_token / rubika_bot_token (can_edit=0)
|
||
-- ===========================================================================
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_enabled', 'false', 'ارسال قیمت به کانال', 1, 1,
|
||
'روشن: بعد از هر تغییر قیمت، مظنه به کانالهای پیامرسان انتخابشده ارسال میشود.', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_messengers', '', 'پیامرسانهای ارسال قیمت', 1, 1,
|
||
'کدام پیامرسانها قیمت بگیرند؟ میتوانید چند مورد را انتخاب کنید. گزینهها: بله، تلگرام، روبیکا.', 'multiselect'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_messengers' LIMIT 1);
|
||
|
||
-- نوع multiselect را روی ردیفهای موجود هم اعمال کن (نصبهایی که قبلاً text گرفته بودند)
|
||
UPDATE `settings` SET `type` = 'multiselect' WHERE `key` = 'price_channel_messengers';
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_diff', '0', 'اختلاف قیمت کانال (ریال)', 1, 1,
|
||
'مبلغی که به قیمت خرید کانال اضافه و از قیمت فروش کم میشود (اسپرد اضافه فقط برای کانال).', 'price'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_diff' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_min_seconds', '120', 'حداقل فاصله ارسال (ثانیه)', 1, 1,
|
||
'حداقل فاصله بین دو ارسال به کانال؛ جلوی سیل پیام را میگیرد. صفر = هر تغییر قیمت.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_min_seconds' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_message_text', @price_channel_default_text, 'قالب متن پیام کانال', 1, 1, @price_channel_message_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_message_text' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_footer_id', '', 'آیدی کانال در پیام', 1, 1,
|
||
'آیدی/یوزرنیم کانال برای متغیر %آیدی در قالب پیام. خالی = خط خالی.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_footer_id' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_footer_phone', '', 'شماره تماس در پیام', 1, 1,
|
||
'شماره تماس برای متغیر %شماره در قالب پیام. خالی = خط خالی.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_footer_phone' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_footer_link', '', 'لینک در پیام', 1, 1,
|
||
'لینک برای متغیر %لینک در قالب پیام. خالی = خط خالی.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_footer_link' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_bale_to', '', 'مقصد ارسال بله', 0, 1,
|
||
'آیدی چنل/گروه بله برای ارسال قیمت (چند مقصد با ویرگول).', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_bale_to' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_telegram_to', '', 'مقصد ارسال تلگرام', 0, 1,
|
||
'آیدی چنل/گروه تلگرام برای ارسال قیمت (چند مقصد با ویرگول).', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_telegram_to' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_rubika_to', '', 'مقصد ارسال روبیکا', 0, 1,
|
||
'آیدی چنل/گروه روبیکا برای ارسال قیمت (چند مقصد با ویرگول).', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_rubika_to' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'change_mesghal', '4.3318', 'وزن مثقال (گرم)', 1, 1,
|
||
'ضریب تبدیل قیمت مثقال به گرم برای نمایش خط «هر گرم» در پیام کانال.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'change_mesghal' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'support_messenger_id', '', 'شناسه پشتیبانی پیامرسان', 1, 0, 'یوزرنیم یا شماره تماس بسته به پیامرسان انتخابشده'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'support_messenger_id' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'support_messenger_text', '', 'متن پشتیبانی پیامرسان', 1, 0, 'متن دکمه یا توضیح پشتیبانی در اپ کاربر'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'support_messenger_text' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'invite_link_text', @invite_link_default_text, 'متن دعوتنامه اشتراکگذاری', 1, 1, @invite_link_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'invite_link_text' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'support_messenger', '', 'پیامرسان پشتیبانی', 1, 1, 'bale,telegram,whatsapp,rubika,eitaa,soroush'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'support_messenger' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_sms_support_number', '', 'شماره تماس پشتیبانی', 1, 1,
|
||
'شماره تماس پشتیبانی که در صفحه واریز، درباره ما و قوانین به مشتری نشان داده میشود. با کلیک، تماس تلفنی برقرار میشود.', 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_sms_support_number' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_account_holder', '', 'نام صاحب حساب واریز', 1, 1,
|
||
'نام صاحب حساب واریز — در متن راهنما و پیام پشتیبانی با ٪نام یا %نام جایگزین میشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_account_holder' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_card_number', '', 'شماره کارت واریز', 1, 1,
|
||
'شماره کارت واریز — در متنها با ٪کارت یا %کارت جایگزین میشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_card_number' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_sheba', '', 'شبا واریز', 1, 1,
|
||
'شماره شبا واریز — در متنها با ٪شبا یا %شبا جایگزین میشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_sheba' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_support_message_text', 'شماره حساب', 'متن پیام به پشتیبانی (واریز)', 1, 1, @deposit_support_msg_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_support_message_text' LIMIT 1);
|
||
|
||
-- min/max قیمت روز (سیستم)
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'up_price', '0', 'بیشترین قیمت امروز', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'up_price' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'down_price', '0', 'کمترین قیمت امروز', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'down_price' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'price_extreme_date', '', 'تاریخ min/max روز', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_extreme_date' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'metal_type', 'طلای آبشده', 'عنوان فلز در UI', 0, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'metal_type' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'main_metal', 'طلا', 'نام فلز اصلی (ادمین)', 0, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_metal' LIMIT 1);
|
||
|
||
-- درگاه — کلیدهای اختیاری payping
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'payping_fin_sync_enabled', 'false', 'همگامسازی fin', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_fin_sync_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'payping_fin_url', 'https://limangold.ir/kernel/admin/fin', 'URL fin', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_fin_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'payping_fin_token', '', 'توکن fin', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_fin_token' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'payping_fin_customer_id', '23', 'customer_id fin', 1, 1, NULL
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_fin_customer_id' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_start_url', 'https://payping.limangold.ir/payment/start', 'آدرس شروع درگاه', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_start_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_verify_url', 'https://payping.limangold.ir/payment/verify', 'آدرس تأیید درگاه', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_verify_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_gateway_name', '', 'نام gateway درگاه', 1, 1, 'sepal,', 'select'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_gateway_name' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_gateway_items', '', 'لیست item (چرخشی)', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_gateway_items' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_round_toman', 'false', 'گرد کردن مبلغ به تومان', 1, 1, NULL, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_round_toman' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'payping_strict_failed_withdraw', 'false', 'اولویت تراکنش ناموفق', 1, 1, NULL, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_strict_failed_withdraw' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'open_register', 'true', 'ثبتنام باز', 1, 1, NULL, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'open_register' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'referral_id', 'required', 'کد معرف اجباری', 1, 1, 'روشن = اجباری در ثبتنام | خاموش = اختیاری', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_id' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'fee_single', '500000', 'اختلاف پایه نمایش', 0, 1, NULL, 'price'
|
||
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`, `type`)
|
||
SELECT 'buy_fee', '', 'سود خرید نمایش', 1, 1, NULL, 'price'
|
||
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`, `type`)
|
||
SELECT 'sell_fee', '', 'سود فروش نمایش', 1, 1, NULL, 'price'
|
||
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`, `type`)
|
||
SELECT 'fee_service_charge_percentage', '0.005', 'درصد کارمزد سفارش', 1, 1, NULL, 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_service_charge_percentage' LIMIT 1);
|
||
|
||
-- fee_deduct_from_gold: value پیشفرض false فقط در INSERT اولیه؛ اجرای مجدد value/is_active را overwrite نمیکند
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 0, 1,
|
||
'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت میکند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر میشود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه میشود. خاموش (پیشفرض): در فروش کارمزد از مبلغ ریالی واریزی کم میشود (مشتری مبلغ کمتری میگیرد). در خرید کارمزد از وزن طلای واریزی کم میشود (مشتری طلای کمتری میگیرد).',
|
||
'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_deduct_from_gold' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'min_withdraw', '', 'حداقل برداشت (ریال)', 1, 1, NULL, 'price'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'min_withdraw' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'min_deposit', '1000000', 'حداقل واریز کیف پول (ریال)', 1, 1,
|
||
'حداقل مبلغ واریز به کیف پول (ریال). مبالغ کمتر در اپ و درگاه پذیرفته نمیشوند.',
|
||
'price'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'min_deposit' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'min_first_buy', '', 'حداقل اولین خرید (ریال)', 1, 1, NULL, 'price'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'min_first_buy' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'minimum_sell', '', 'حداقل فروش', 1, 1, NULL, 'price'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'minimum_sell' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'referral_bonus_amount', '', 'مقدار پاداش معرف', 0, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_bonus_amount' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'balance_report_exclude_customer_id', '', 'حذف مشتری از تراز', 1, 1, NULL, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'balance_report_exclude_customer_id' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'montzar_closed', 'false', 'بسته بودن همکار', 1, 1, NULL, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_closed' LIMIT 1);
|
||
|
||
-- =============================================================================
|
||
-- عنوان فارسی — backfill اولیه (فقط اگر title_fa خالی باشد؛ override نهایی در انتهای فایل)
|
||
-- =============================================================================
|
||
|
||
-- backfill عنوان فارسی کلیدهای قدیمی (فقط اگر title_fa خالی/NULL باشد)
|
||
UPDATE `settings` SET `title_fa` = 'نام فارسی اپ' WHERE `key` = 'name_fa' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'نام انگلیسی اپ' WHERE `key` = 'name_en' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'آدرس اپ (کاربر)' WHERE `key` = 'app_url' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'آدرس پایه' WHERE `key` = 'bace_url' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'لوگوی صفحه ورود' WHERE `key` = 'logo_login' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'لوگوی ثبتنام' WHERE `key` = 'logo_register' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'آدرس پنل ادمین' WHERE `key` = 'admin_url' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'عنوان PWA' WHERE `key` = 'title_pwa' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'عنوان favicon' WHERE `key` = 'title_fav' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'متن قوانین' WHERE `key` = 'text_rule' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'متن درباره ما' WHERE `key` = 'text_about' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'صفحه کسب درآمد' WHERE `key` = 'has_page_earn_money' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'صفحه صندوق' WHERE `key` = 'has_page_fund' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'صفحه مجوزها' WHERE `key` = 'has_page_permission' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'صفحه هشدار قیمت' WHERE `key` = 'has_page_price_trigger' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'صفحه طلای فیزیکی' WHERE `key` = 'has_page_physical_gold' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'رنگ اصلی' WHERE `key` = 'color_primary' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'رنگ ثانویه' WHERE `key` = 'color_secondary' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'کارمزد (قدیمی — درصد)' WHERE `key` = 'fee' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'چت پشتیبانی' WHERE `key` = 'has_chat' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'آدرس API سرور' WHERE `key` = 'server_url' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'کلید داخلی اپ' WHERE `key` = 'key' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'تعداد معرف برای هدیه' WHERE `key` = 'referral_count_for_gift' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'مقدار پاداش معرف' WHERE `key` = 'referral_bonus_amount' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '' OR `title_fa` = 'مبلغ پاداش معرف');
|
||
UPDATE `settings` SET `title_fa` = 'حداقل برداشت (ریال)' WHERE `key` = 'min_withdraw' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'حداقل واریز کیف پول (ریال)' WHERE `key` = 'min_deposit' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'حداقل اولین خرید (ریال)' WHERE `key` = 'min_first_buy' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `value` = '1000000' WHERE `key` = 'min_deposit' AND (`value` IS NULL OR TRIM(`value`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'حداقل فروش' WHERE `key` = 'minimum_sell' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'ثبتنام باز' WHERE `key` = 'open_register' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'ارسال به تهحساب' WHERE `key` = 'send_to_tahesab' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'گرد کردن تومان پیپینگ' WHERE `key` = 'payping_round_toman' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'برداشت ناموفق سختگیرانه' WHERE `key` = 'payping_strict_failed_withdraw' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'وضعیت فروشگاه' WHERE `key` = 'store_status' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'حالت فروشگاهی' WHERE `key` = 'is_store' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'محصولات متصل به کیف اصلی' WHERE `key` = 'main_wallet_products' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'واحد وزن' WHERE `key` = 'unit' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'کارمزد درصدی (alias)' WHERE `key` = 'service_charge_percentage' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
UPDATE `settings` SET `title_fa` = 'حذف مشتری از تراز' WHERE `key` = 'balance_report_exclude_customer_id' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'منبع قیمت'),
|
||
`description` = 'منبع فعال قیمت|montzar,zaarbox,main_product'
|
||
WHERE `key` = 'price_provider';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'محصول / UUID تابلو')
|
||
WHERE `key` = 'main_product';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'آدرس API Zaarbox')
|
||
WHERE `key` = 'zaarbox_api_url';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'شناسه ردیف Zaarbox')
|
||
WHERE `key` = 'zaarbox_price_key';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'اختلاف پایه نمایش')
|
||
WHERE `key` = 'fee_single';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'سود خرید نمایش')
|
||
WHERE `key` = 'buy_fee';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'سود فروش نمایش')
|
||
WHERE `key` = 'sell_fee';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'درصد کارمزد سفارش')
|
||
WHERE `key` = 'fee_service_charge_percentage';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'تأیید کارت جیبیت')
|
||
WHERE `key` = 'jibit_verification';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'تأیید ثبتنام جیبیت')
|
||
WHERE `key` = 'register_jibit_verify';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'شناسه کلاینت API خارجی')
|
||
WHERE `key` = 'node_client_id';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'کلید HMAC API خارجی')
|
||
WHERE `key` = 'node_shared_secret';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'API سفارش خارجی')
|
||
WHERE `key` = 'external_order_api_enabled';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'قیمت لحظهای (SSE)')
|
||
WHERE `key` = 'wss_enabled';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'مسیر SSE قیمت')
|
||
WHERE `key` = 'sse_path';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'بسته بودن همکار')
|
||
WHERE `key` = 'montzar_closed';
|
||
|
||
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'نام فروشگاه در درگاه')
|
||
WHERE `key` = 'montify_name';
|
||
|
||
-- =============================================================================
|
||
-- CONST — کلیدهای مورد استفاده کد
|
||
-- =============================================================================
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'jibit_counter', '0', 'شمارنده API جیبیت'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'jibit_counter' 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 'gram', '1', 'گرم هدیه ثبتنام'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'gram' LIMIT 1);
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'price', '[]', 'لیست قیمت TGJU (JSON)'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'price' LIMIT 1);
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'main_product', '', 'محصول آبشده (fallback)'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'main_product' LIMIT 1);
|
||
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'شمارنده جیبیت')
|
||
WHERE `key` = 'jibit_counter';
|
||
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'باز بودن درگاه')
|
||
WHERE `key` = 'is_gateway_open';
|
||
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'محصول آبشده (fallback)')
|
||
WHERE `key` = 'main_product';
|
||
|
||
-- =============================================================================
|
||
-- نوع فیلد پنل ادمین (type) — value دست نخورده
|
||
-- =============================================================================
|
||
|
||
-- longtext
|
||
UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN (
|
||
'text_rule', 'text_about', 'support_messenger_text', 'invite_link_text',
|
||
'deposit_support_message_text', 'price_channel_message_text',
|
||
'montzar_order_response', 'montzar_last_product_log', 'tracking_systems'
|
||
);
|
||
|
||
-- select (+ گزینهها در description)
|
||
UPDATE `settings` SET `type` = 'select', `description` = 'none,pargar,tahesab,zarin' WHERE `key` = 'accounting_provider';
|
||
UPDATE `settings` SET `type` = 'select', `description` = 'منبع فعال قیمت|montzar,zaarbox,main_product' WHERE `key` = 'price_provider';
|
||
UPDATE `settings` SET `type` = 'switch', `title_fa` = 'کد معرف اجباری', `description` = 'روشن = اجباری در ثبتنام | خاموش = اختیاری' WHERE `key` = 'referral_id';
|
||
UPDATE `settings` SET `type` = 'select', `description` = 'sepal,' WHERE `key` = 'payping_gateway_name';
|
||
UPDATE `settings` SET `type` = 'select', `description` = 'bale,telegram,whatsapp,rubika,eitaa,soroush' WHERE `key` = 'support_messenger';
|
||
|
||
-- switch
|
||
UPDATE `settings` SET `type` = 'switch' WHERE `key` IN (
|
||
'chart_use_local_data',
|
||
'jibit_enabled', 'jibit_verification', 'register_jibit_verify', 'open_register', 'auto_active_customer',
|
||
'close_price', 'show_last_price', 'show_gold_ounce_price',
|
||
'fee_deduct_from_gold',
|
||
'require_zero_main_gold_before_other_buy',
|
||
'profit_gold_api_enabled', 'payping_round_toman', 'payping_strict_failed_withdraw',
|
||
'has_page_earn_money', 'charge_notif', 'group_sms', 'sms_panel', 'customer_direct_sms',
|
||
'enable_conditional_order',
|
||
'sms_notif_order_admin', 'sms_notif_order_customer',
|
||
'sms_notif_withdraw_admin', 'sms_notif_withdraw_otp', 'sms_notif_login_otp',
|
||
'sms_notif_gateway_charge_admin', 'sms_notif_register_customer', 'sms_notif_register_admin',
|
||
'sms_notif_jibit_admin', 'sms_notif_bank_card_admin', 'sms_notif_bank_card_customer',
|
||
'sms_notif_fund_withdraw_admin', 'sms_notif_fund_withdraw_customer',
|
||
'sms_notif_price_trigger', 'sms_notif_wallet_alert',
|
||
'montzar_closed', 'montzar_open_buy', 'montzar_open_sell',
|
||
'payping_fin_sync_enabled', 'external_order_api_enabled', 'is_store', 'wss_enabled', 'tracking_systems_enabled',
|
||
'register_referral_sms_to_referrer', 'register_referral_bonus_message',
|
||
'referral_gift_on_first_order',
|
||
'banner_enabled', 'permision__enabled'
|
||
);
|
||
|
||
-- price (مبالغ ریالی)
|
||
UPDATE `settings` SET `type` = 'price' WHERE `key` IN (
|
||
'fee_single', 'buy_fee', 'sell_fee',
|
||
'min_withdraw', 'min_deposit', 'min_first_buy', 'minimum_sell',
|
||
'up_price', 'down_price'
|
||
);
|
||
|
||
|
||
-- number (شماره، شناسه، درصد، تعداد — بدون جداکننده هزارگان)
|
||
UPDATE `settings` SET `type` = 'number' WHERE `key` IN (
|
||
'fee_service_charge_percentage', 'fee_free', 'service_charge_percentage',
|
||
'montzar_product_id', 'gift_for_referrer', 'gift_for_referral',
|
||
'payping_fin_customer_id', 'tahesab_port', 'referral_limit',
|
||
'deposit_sms_support_number',
|
||
'pargar_item_id_rial', 'pargar_item_id_gold'
|
||
);
|
||
|
||
-- text (بقیه — URL، توکن، کلید API، ساعت، ...)
|
||
UPDATE `settings` SET `type` = 'text' WHERE `key` IN (
|
||
'name_fa', 'name_en', 'app_url', 'bace_url', 'logo_login', 'logo_register', 'admin_url', 'title_pwa', 'title_fav',
|
||
'server_url', 'key', 'main_product', 'zaarbox_api_url', 'zaarbox_price_key', 'chart_id',
|
||
'etehadie_api_url', 'montzar_mobile', 'montzar_password', 'montzar_base_url',
|
||
'montzar_token', 'montzar_diff', 'montzar_live_price', 'montzar_mazaneh',
|
||
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh', 'startDay', 'endDay',
|
||
'payping_start_url', 'payping_verify_url', 'payping_gateway_items', 'payping_fin_url',
|
||
'payping_fin_token', 'tahesab_host', 'tahesab_token', 'tahesab_db',
|
||
'pargar_username', 'pargar_password', 'pargar_api_token',
|
||
'pargar_item_id_rial', 'pargar_item_id_gold',
|
||
'node_client_id', 'node_shared_secret',
|
||
'sse_path',
|
||
'tahesab_bank_account', 'telegram_bot_token', 'bale_bot_token', 'support_messenger_id',
|
||
'referral_bonus_amount', 'balance_report_exclude_customer_id', 'metal_type', 'main_metal', 'montify_name', 'price_extreme_date',
|
||
'liman_token'
|
||
);
|
||
|
||
-- پیشفرض برای ردیفهای بدون type
|
||
UPDATE `settings` SET `type` = 'text' WHERE `type` IS NULL OR TRIM(`type`) = '';
|
||
|
||
-- =============================================================================
|
||
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- کلیدهای modular اضافی (INSERT اگر نبود)
|
||
-- ---------------------------------------------------------------------------
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`, `description`)
|
||
SELECT 'price_provider', 'منبع قیمت', 'montzar', 1, 0, 1, 'select', 'منبع فعال قیمت|montzar,zaarbox,main_product'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_provider' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'service_charge_percentage', 'کارمزد درصدی (alias)', COALESCE(
|
||
(SELECT `value` FROM `settings` WHERE `key` = 'fee_service_charge_percentage' LIMIT 1), '0.005'
|
||
), 0, 0, 1, 'number'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'service_charge_percentage' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'title_pwa', 'عنوان PWA', '', 0, 0, 0, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'title_pwa' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'title_fav', 'عنوان favicon', '', 0, 0, 0, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'title_fav' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'text_rule', 'متن قوانین', '', 1, 0, 1, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'text_rule' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'text_about', 'متن درباره ما', '', 1, 0, 1, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'text_about' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'zaarbox_api_url', 'آدرس API تابلو Zaarbox', '', 1, 0, 1, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_api_url' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'zaarbox_price_key', 'شناسه ردیف تابلو (key یا UUID)', '', 1, 0, 1, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_price_key' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'main_product', 'محصول آبشده', '', 1, 0, 1, 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `title_fa`, `value`, `can_edit`, `is_exist`, `is_active`, `type`)
|
||
SELECT 'profit_gold_api_enabled', 'API سود طلا', 'false', 1, 0, 0, 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'profit_gold_api_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'unit', '', 'واحد وزن دارایی و معاملات', 1, 1,
|
||
'واحد نمایش وزن فلز در داراییها، کیف پول و تراکنشها|گرم,کیلوگرم', 'select'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'unit' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
||
SELECT 'main_wallet_products', '13', 'محصولات متصل به کیف اصلی', 0, 1,
|
||
'محصولاتی که موجودیشان از کیف طلای اصلی خوانده میشود. چند محصول با کاما. پیشفرض: 13'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_wallet_products' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'require_zero_main_gold_before_other_buy', 'true', 'الزام صفر بودن کیف اصلی قبل از خرید محصول دیگر', 1, 1,
|
||
'روشن: اگر مانده طلای کیف اصلی صفر یا زیر صفر باشد (بدهی)، مشتری ابتدا باید آبشده/مانده کیف اصلی را صفر کند و بعد میتواند محصول دیگر بخرد. خاموش: بدون این محدودیت. معامله خودِ محصولات کیف اصلی همیشه مجاز است.', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'require_zero_main_gold_before_other_buy' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'apk_download_link', '', 'لینک دانلود اپ اندروید', 0, 1,
|
||
'آدرس کامل فایل APK اندروید (https). اگر خالی باشد لینک دانلود در اپ نمایش داده نمیشود.', 'text'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'apk_download_link' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'banner_enabled', 'true', 'نمایش بنرها', 1, 1,
|
||
'روشن: منوی «بنرها» در ادمین و اسلایدر صفحه اصلی اپ مشتری نمایش داده میشود. خاموش: مخفی است (محتوای بنر از همان منو مدیریت میشود).', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'banner_enabled' LIMIT 1);
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'permision__enabled', 'false', 'نمایش منوی مجوزها', 0, 1,
|
||
'روشن: آیتم «مجوز ها» در منوی تنظیمات اپ خانگی (تم جدید) نمایش داده میشود. خاموش: مخفی است.', 'switch'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'permision__enabled' LIMIT 1);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- const — کلیدهای اضافی
|
||
-- ---------------------------------------------------------------------------
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'is_gateway_open', 'true', 'باز بودن درگاه پرداخت'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'is_gateway_open' LIMIT 1);
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'header_banner', '', 'بنر بالای صفحه'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'header_banner' LIMIT 1);
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'last_order_log', '', 'لاگ آخرین سفارش همکار'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'last_order_log' LIMIT 1);
|
||
|
||
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
||
SELECT 'liman', '', 'توکن fin (legacy)'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'liman' LIMIT 1);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- پاکسازی کلیدهای legacy / تست
|
||
-- ---------------------------------------------------------------------------
|
||
DELETE FROM `settings` WHERE `key` IN (
|
||
'test', 'test2', 'test22', 'test3', 'test33', 'longtest', 'longtest2', 'test*',
|
||
'is_requaire_referral', 'send_to_goldir', 'goldir_price', 'liman_token',
|
||
'melted_product_id', 'display_montzar', 'tabanGohar_price', 'etehadie_api_url',
|
||
'price_method', 'price_primary_source',
|
||
'has_page_fund', 'has_page_permission', 'has_page_price_trigger', 'has_page_physical_gold',
|
||
'has_chat', 'product_update_price_on_list', 'product_auto_close_open_on_list',
|
||
'referral_count_for_gift', 'store_status',
|
||
'name_en', 'bace_url', 'server_url', 'key', 'color_primary', 'color_secondary',
|
||
'price_from_nasiryan',
|
||
'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'
|
||
);
|
||
|
||
DELETE FROM `const` WHERE `key` = 'log' OR `key` LIKE 'goldir%' OR `key` IN (
|
||
'limited_price',
|
||
'first_customer_wallet_value',
|
||
'nasiryan',
|
||
'nasiryan_price',
|
||
'nasiryan_diff',
|
||
'nasiryan_mazaneh',
|
||
'nasiryan_truly_buy_mazaneh',
|
||
'nasiryan_truly_sell_mazaneh',
|
||
'nasiryan_closed'
|
||
);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- metadata — type / title_fa / description (value / is_active دست نمیخورند؛ can_edit در انتها)
|
||
-- ---------------------------------------------------------------------------
|
||
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'
|
||
WHERE `key` = 'price_provider';
|
||
|
||
UPDATE `settings` SET
|
||
`type` = 'switch',
|
||
`title_fa` = 'کد معرف اجباری',
|
||
`description` = 'روشن = اجباری در ثبتنام | خاموش = اختیاری'
|
||
WHERE `key` = 'referral_id';
|
||
|
||
UPDATE `settings` SET `type` = 'switch'
|
||
WHERE `key` IN ('register_referral_sms_to_referrer', 'register_referral_bonus_message', 'referral_gift_on_first_order');
|
||
|
||
UPDATE `settings` SET
|
||
`type` = 'switch',
|
||
`title_fa` = 'نمودار از داده خود سایت',
|
||
`description` = 'خاموش = Zaarbox (chart_id) | روشن = تاریخچه prices'
|
||
WHERE `key` = 'chart_use_local_data';
|
||
|
||
UPDATE `settings` SET `type` = 'number', `title_fa` = 'تعداد سفارش اول بدون کارمزد', `description` = 'عدد — ۰ یعنی غیرفعال'
|
||
WHERE `key` = 'fee_free';
|
||
|
||
UPDATE `settings` SET `description` = 'تعداد سفارش اول بدون کارمزد' WHERE `key` = 'fee_free';
|
||
UPDATE `settings` SET `description` = 'id یا reading_method محصول آبشده' WHERE `key` = 'main_product';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'شناسه پشتیبانی پیامرسان',
|
||
`type` = 'text',
|
||
`description` = 'یوزرنیم یا شماره تماس بسته به پیامرسان انتخابشده'
|
||
WHERE `key` = 'support_messenger_id';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'متن راهنمای واریز',
|
||
`type` = 'longtext',
|
||
`can_edit` = 1,
|
||
`description` = @deposit_guide_desc
|
||
WHERE `key` = 'support_messenger_text';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'متن پیام به پشتیبانی (واریز)',
|
||
`type` = 'longtext',
|
||
`can_edit` = 1,
|
||
`description` = @deposit_support_msg_desc
|
||
WHERE `key` = 'deposit_support_message_text';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'نام صاحب حساب واریز',
|
||
`type` = 'text',
|
||
`can_edit` = 1,
|
||
`description` = 'نام صاحب حساب واریز — در متن راهنما و پیام پشتیبانی با ٪نام یا %نام جایگزین میشود.'
|
||
WHERE `key` = 'deposit_account_holder';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'شماره کارت واریز',
|
||
`type` = 'text',
|
||
`can_edit` = 1,
|
||
`description` = 'شماره کارت واریز — در متنها با ٪کارت یا %کارت جایگزین میشود.'
|
||
WHERE `key` = 'deposit_card_number';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'شبا واریز',
|
||
`type` = 'text',
|
||
`can_edit` = 1,
|
||
`description` = 'شماره شبا واریز — در متنها با ٪شبا یا %شبا جایگزین میشود.'
|
||
WHERE `key` = 'deposit_sheba';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'متن دعوتنامه اشتراکگذاری',
|
||
`type` = 'longtext',
|
||
`description` = @invite_link_desc
|
||
WHERE `key` = 'invite_link_text';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'پیامرسان پشتیبانی',
|
||
`type` = 'select',
|
||
`description` = 'bale,telegram,whatsapp,rubika,eitaa,soroush'
|
||
WHERE `key` = 'support_messenger';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'آدرس IP سرور تهحساب',
|
||
`type` = 'text',
|
||
`description` = NULL
|
||
WHERE `key` = 'tahesab_host';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'پورت سرور تهحساب',
|
||
`type` = 'number',
|
||
`description` = NULL
|
||
WHERE `key` = 'tahesab_port';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'نام دیتابیس تهحساب',
|
||
`type` = 'text',
|
||
`description` = 'مثال: TahesabDB'
|
||
WHERE `key` = 'tahesab_db';
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'حساب بانکی تهحساب',
|
||
`type` = 'text',
|
||
`description` = 'نام حساب بانکی در سند واریز'
|
||
WHERE `key` = 'tahesab_bank_account';
|
||
|
||
UPDATE `settings` SET `title_fa` = 'مقدار پاداش معرف' WHERE `key` = 'referral_bonus_amount';
|
||
|
||
UPDATE `settings` SET `type` = 'text' WHERE `key` = 'balance_report_exclude_customer_id';
|
||
|
||
-- پاکسازی title_fa / description از نام پروژه یا ارجاع کد
|
||
UPDATE `settings` SET `title_fa` = 'حالت فروشگاهی'
|
||
WHERE `key` = 'is_store' AND (`title_fa` LIKE '%قطره%' OR `title_fa` LIKE '%کشکول%');
|
||
|
||
UPDATE `settings` SET `title_fa` = 'همگامسازی fin'
|
||
WHERE `key` = 'payping_fin_sync_enabled' AND `title_fa` LIKE '%لیمان%';
|
||
|
||
UPDATE `settings` SET `title_fa` = 'نام فروشگاه در درگاه', `description` = 'نام فروشگاه که در درگاه پرداخت و رسید بانکی به کاربر نمایش داده میشود.'
|
||
WHERE `key` = 'montify_name';
|
||
|
||
-- descriptionهای قدیمی که عمداً NULL میشدند — در بلوک پایانی بازنویسی میشوند
|
||
|
||
UPDATE `const` SET `title_fa` = 'توکن fin (legacy)' WHERE `key` = 'liman' AND `title_fa` LIKE '%لیمان%';
|
||
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'بنر بالای صفحه') WHERE `key` = 'header_banner';
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'باز بودن درگاه') WHERE `key` = 'is_gateway_open';
|
||
UPDATE `const` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'لاگ آخرین سفارش') WHERE `key` = 'last_order_log';
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- راهنمای کامل تنظیمات (description) — برای نمایش در پنل ادمین
|
||
-- فرمت select: «متن راهنما|گزینه۱,گزینه۲»
|
||
-- ---------------------------------------------------------------------------
|
||
UPDATE `settings` SET `description` = 'نام فارسی برند که در پیامکها، عنوان صفحات و بخشهای عمومی اپ کاربر نمایش داده میشود.' WHERE `key` = 'name_fa';
|
||
UPDATE `settings` SET `description` = 'آدرس کامل وباپ کاربر (با https). در لینکهای پیامک، بازگشت از درگاه و ارجاعات داخلی استفاده میشود.' WHERE `key` = 'app_url';
|
||
UPDATE `settings` SET `description` = 'آدرس کامل پنل مدیریت (با https). برای لینکهای ادمین و تنظیمات CORS در صورت نیاز.' WHERE `key` = 'admin_url';
|
||
UPDATE `settings` SET `description` = 'آدرس تصویر لوگو در صفحه ورود. معمولاً از طریق دیپلوی یا آپلود فایل تنظیم میشود؛ در پنل قابل ویرایش نیست.' WHERE `key` = 'logo_login';
|
||
UPDATE `settings` SET `description` = 'آدرس تصویر لوگو در صفحه ثبتنام. معمولاً از طریق دیپلوی تنظیم میشود؛ در پنل قابل ویرایش نیست.' WHERE `key` = 'logo_register';
|
||
UPDATE `settings` SET `description` = 'عنوان کوتاه برای نصب PWA روی موبایل. از دیپلوی مدیریت میشود.' WHERE `key` = 'title_pwa';
|
||
UPDATE `settings` SET `description` = 'عنوان نمایشدادهشده در تب مرورگر (favicon). از دیپلوی مدیریت میشود.' WHERE `key` = 'title_fav';
|
||
UPDATE `settings` SET `description` = 'عنوان فلز اصلی در رابط کاربر (مثلاً «طلای آبشده» یا «کاتد مس»). در دارایی، کیف پول و برچسبهای معامله دیده میشود. فقط از دیپلوی/SQL تغییر میکند.' WHERE `key` = 'metal_type';
|
||
UPDATE `settings` SET `title_fa` = 'نام فلز اصلی (ادمین)', `description` = 'نام کوتاه فلز برای برچسبهای پنل ادمین (مثلاً «مس» یا «طلا»). «تراز طلایی» میشود «تراز مس» — نه «تراز مسی». فقط از دیپلوی/SQL تغییر میکند.' WHERE `key` = 'main_metal';
|
||
UPDATE `settings` SET `description` = 'واحد نمایش وزن در داراییها، کیف پول و جزئیات معاملات|گرم,کیلوگرم' WHERE `key` = 'unit';
|
||
UPDATE `settings` SET `description` = 'روشن: کاربران جدید میتوانند ثبتنام کنند. خاموش: فقط ورود کاربران موجود مجاز است.' WHERE `key` = 'open_register';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از ثبتنام کاربر میتواند وارد اپ شود (بدون تأیید دستی ادمین). خاموش: ورود فقط بعد از فعالسازی دستی در پنل. این سوییچ اجازهٔ خرید/فروش نمیدهد — معامله فقط بعد از احراز هویت ممکن است.' WHERE `key` = 'auto_active_customer';
|
||
UPDATE `settings` SET `title_fa` = 'فعالسازی خودکار پس از ثبتنام' WHERE `key` = 'auto_active_customer';
|
||
UPDATE `settings` SET `description` = 'نوع چیدمان اپ: روشن = حالت فروشگاهی (سبد، دستهبندی، حواله و …). خاموش = حالت معامله آبشده/محصولات کلاسیک. فقط از دیپلوی تغییر میکند.' WHERE `key` = 'is_store';
|
||
|
||
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` = 'شناسه عددی یا نام 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';
|
||
UPDATE `settings` SET `description` = 'روشن: اگر API قیمت در دسترس نباشد، آخرین قیمت ذخیرهشده در دیتابیس به کاربر نشان داده میشود. خاموش: در قطعی API ممکن است قیمت صفر نمایش داده شود.' WHERE `key` = 'show_last_price';
|
||
UPDATE `settings` SET `description` = 'روشن: اگر آدرس API تابلو (zaarbox_api_url) تنظیم شده باشد، قیمت انس طلا در اپ مشتری نمایش داده میشود. خاموش: نمایش داده نمیشود.' WHERE `key` = 'show_gold_ounce_price';
|
||
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` = 'buy_fee';
|
||
UPDATE `settings` SET `description` = 'مبلغ کسر (ریال) از قیمت پایه برای سمت فروش. خالی = استفاده از «اختلاف پایه».' WHERE `key` = 'sell_fee';
|
||
UPDATE `settings` SET `description` = 'درصد کارمزد هر سفارش از مبلغ معامله (اعشاری؛ مثلاً ۰٫۰۰۵ یعنی نیم در هزار).' WHERE `key` = 'fee_service_charge_percentage';
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'اعمال مبلغ دقیق در معامله مشتری',
|
||
`type` = 'switch',
|
||
`can_edit` = 0,
|
||
`description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت میکند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر میشود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه میشود. خاموش (پیشفرض): در فروش کارمزد از مبلغ ریالی واریزی کم میشود (مشتری مبلغ کمتری میگیرد). در خرید کارمزد از وزن طلای واریزی کم میشود (مشتری طلای کمتری میگیرد).'
|
||
WHERE `key` = 'fee_deduct_from_gold';
|
||
UPDATE `settings` SET `description` = 'تعداد اولین سفارشهای هر کاربر که از کارمزد معاف میشوند. ۰ = غیرفعال.' WHERE `key` = 'fee_free';
|
||
UPDATE `settings` SET `description` = 'حداقل مبلغ درخواست برداشت وجه (ریال). درخواستهای کمتر رد میشوند.' WHERE `key` = 'min_withdraw';
|
||
UPDATE `settings` SET `description` = 'حداقل مبلغ واریز به کیف پول (ریال). مبالغ کمتر در اپ و درگاه پذیرفته نمیشوند.' WHERE `key` = 'min_deposit';
|
||
UPDATE `settings` SET `description` = 'حداقل مبلغ اولین خرید هر کاربر (ریال). برای فعالسازی کیف یا احراز سطح اول استفاده میشود.' WHERE `key` = 'min_first_buy';
|
||
UPDATE `settings` SET `description` = 'حداقل مقدار/مبلغ مجاز برای ثبت سفارش فروش. بسته به نوع محصول میتواند وزن یا ریال باشد.' WHERE `key` = 'minimum_sell';
|
||
UPDATE `settings` SET `description` = 'بیشترین قیمت ثبتشده در روز جاری (ریال). توسط سیستم بهروز میشود؛ دستی تغییر ندهید.' WHERE `key` = 'up_price';
|
||
UPDATE `settings` SET `description` = 'کمترین قیمت ثبتشده در روز جاری (ریال). توسط سیستم بهروز میشود؛ دستی تغییر ندهید.' WHERE `key` = 'down_price';
|
||
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';
|
||
|
||
UPDATE `settings` SET `description` = 'روشن: وارد کردن کد معرف در ثبتنام اجباری است. خاموش: کد معرف اختیاری است.' WHERE `key` = 'referral_id';
|
||
UPDATE `settings` SET `description` = 'مقدار پاداش (معمولاً وزن فلز به گرم) که به کیف معرف واریز میشود. ۰ = بدون پاداش. زمان واریز بسته به «پاداش معرف پس از اولین سفارش» است.' WHERE `key` = 'gift_for_referrer';
|
||
UPDATE `settings` SET `description` = 'مقدار پاداش (معمولاً وزن فلز) که به معرفشونده واریز میشود. ۰ = بدون پاداش. زمان واریز بسته به «پاداش معرف پس از اولین سفارش» است.' WHERE `key` = 'gift_for_referral';
|
||
UPDATE `settings` SET `description` = 'روشن: پس از ثبتنام کاربر جدید، پیامک اطلاعرسانی برای معرف ارسال میشود.' WHERE `key` = 'register_referral_sms_to_referrer';
|
||
UPDATE `settings` SET `description` = 'روشن: متن پاداش معرف در پیامک خوشآمد ثبتنام گنجانده میشود.' WHERE `key` = 'register_referral_bonus_message';
|
||
UPDATE `settings` SET `description` = 'روشن: پاداش معرف (gift_for_referrer) و معرفشونده (gift_for_referral) پس از تکمیل اولین سفارش معرفشونده به کیف واریز میشود — فقط اگر مقدار هر پاداش بیشتر از صفر باشد. خاموش: پاداش بلافاصله پس از ثبتنام موفق یا تأیید احراز هویت واریز میشود (باز هم فقط برای مقادیر بیشتر از صفر).' WHERE `key` = 'referral_gift_on_first_order';
|
||
UPDATE `settings` SET `description` = 'حداکثر تعداد دعوتهای مجاز برای هر کاربر. خالی = بدون محدودیت.' WHERE `key` = 'referral_limit';
|
||
UPDATE `settings` SET `description` = 'مبلغ یا مقدار پاداش معرف (متن آزاد — بسته به پیادهسازی پیامک/اعتبار). برای نمایش در پیامها.' WHERE `key` = 'referral_bonus_amount';
|
||
UPDATE `settings` SET `description` = 'روشن: تطبیق شماره کارت بانکی کاربر با سرویس احراز هویت جیبیت هنگام ثبت/ویرایش کارت.' WHERE `key` = 'jibit_verification';
|
||
UPDATE `settings` SET `description` = 'روشن: تطبیق کد ملی و موبایل در فرآیند ثبتنام از طریق سرویس جیبیت.' WHERE `key` = 'register_jibit_verify';
|
||
UPDATE `settings` SET `description` = 'روشن: منوی «کسب درآمد / دعوت دوستان» در اپ کاربر نمایش داده میشود.' WHERE `key` = 'has_page_earn_money';
|
||
|
||
UPDATE `settings` SET `description` = 'شماره موبایل حساب API سرویس همکار قیمت. برای دریافت توکن و لیست محصولات.' WHERE `key` = 'montzar_mobile';
|
||
UPDATE `settings` SET `description` = 'رمز عبور حساب API سرویس همکار قیمت. محرمانه نگه دارید.' WHERE `key` = 'montzar_password';
|
||
UPDATE `settings` SET `description` = 'شناسه محصول آبشده در API همکار. باید با محصول مرجع در سرویس خارجی یکسان باشد.' WHERE `key` = 'montzar_product_id';
|
||
UPDATE `settings` SET `description` = 'آدرس پایه سرور API همکار (بدون اسلش انتهایی). مثال: https://example.com' WHERE `key` = 'montzar_base_url';
|
||
UPDATE `settings` SET `description` = 'توکن دسترسی API همکار. پس از ورود موفق توسط سیستم پر میشود؛ دستی ویرایش نکنید.' WHERE `key` = 'montzar_token';
|
||
UPDATE `settings` SET `description` = 'اختلاف قیمت دریافتی از همکار (ریال). توسط cron/همگامسازی پر میشود.' WHERE `key` = 'montzar_diff';
|
||
UPDATE `settings` SET `description` = 'آخرین قیمت لحظهای دریافتشده از همکار (ریال). فقط خواندنی — توسط سیستم بهروز میشود.' WHERE `key` = 'montzar_live_price';
|
||
UPDATE `settings` SET `description` = 'مظنه میانی دریافتشده از همکار. توسط سیستم بهروز میشود.' WHERE `key` = 'montzar_mazaneh';
|
||
UPDATE `settings` SET `description` = 'مظنه واقعی سمت خرید از همکار. توسط سیستم بهروز میشود.' WHERE `key` = 'montzar_truly_buy_mazaneh';
|
||
UPDATE `settings` SET `description` = 'مظنه واقعی سمت فروش از همکار. توسط سیستم بهروز میشود.' WHERE `key` = 'montzar_truly_sell_mazaneh';
|
||
UPDATE `settings` SET `description` = 'روشن: امکان ثبت سفارش خرید از طریق قیمت همکار باز است (طبق وضعیت سرویس خارجی).' WHERE `key` = 'montzar_open_buy';
|
||
UPDATE `settings` SET `description` = 'روشن: امکان ثبت سفارش فروش از طریق قیمت همکار باز است.' WHERE `key` = 'montzar_open_sell';
|
||
UPDATE `settings` SET `description` = 'روشن: سرویس همکار در حال حاضر بسته/غیرفعال گزارش شده است.' WHERE `key` = 'montzar_closed';
|
||
UPDATE `settings` SET `description` = 'پاسخ JSON آخرین سفارش ارسالی به همکار. برای عیبیابی؛ توسط سیستم پر میشود.' WHERE `key` = 'montzar_order_response';
|
||
UPDATE `settings` SET `description` = 'لاگ JSON آخرین محصول دریافتشده از API همکار. توسط سیستم پر میشود.' WHERE `key` = 'montzar_last_product_log';
|
||
UPDATE `settings` SET `description` = 'آدرس کامل فایل APK اندروید (https). اگر خالی باشد لینک دانلود در اپ نمایش داده نمیشود.' WHERE `key` = 'apk_download_link';
|
||
UPDATE `settings` SET `description` = 'روشن: منوی «بنرها» در ادمین و اسلایدر صفحه اصلی اپ مشتری نمایش داده میشود. خاموش: مخفی است (محتوای بنر از همان منو مدیریت میشود).' WHERE `key` = 'banner_enabled';
|
||
UPDATE `settings` SET `description` = 'روشن: آیتم «مجوز ها» در منوی تنظیمات اپ خانگی (تم جدید) نمایش داده میشود. خاموش: مخفی است.' WHERE `key` = 'permision__enabled';
|
||
|
||
UPDATE `settings` SET `description` = 'شناسه کلاینت برای API سفارش خارجی (هدر X-Client-Id). باید با مقدار تنظیمشده در سرویس مقصد یکسان باشد.' WHERE `key` = 'node_client_id';
|
||
UPDATE `settings` SET `description` = 'کلید مشترک امضای HMAC برای احراز درخواستهای API سفارش خارجی. محرمانه نگه دارید.' WHERE `key` = 'node_shared_secret';
|
||
UPDATE `settings` SET `description` = 'روشن: API دریافت کیف پول و ثبت سفارش از سرویس فروشگاه خارجی فعال است. نیاز به node_client_id و node_shared_secret دارد.' WHERE `key` = 'external_order_api_enabled';
|
||
UPDATE `settings` SET `description` = 'روشن: اپ به SSE (sse_path) وصل میشود و last/list با payload میآید؛ خاموش: polling.' WHERE `key` = 'wss_enabled';
|
||
UPDATE `settings` SET `description` = 'مسیر GET لاراول برای استریم قیمت — پیشفرض /api/price/stream' WHERE `key` = 'sse_path';
|
||
UPDATE `settings` SET `description` = 'JSON لیست سایتهای ریگیری — هر مورد: id، name، url. از منوی «سایتهای ریگیری» ویرایش میشود.' WHERE `key` = 'tracking_systems';
|
||
UPDATE `settings` SET `description` = 'روشن: منوی «سایتهای ریگیری» در ادمین و اپ مشتری نمایش داده میشود. خاموش: مخفی است.' WHERE `key` = 'tracking_systems_enabled';
|
||
UPDATE `settings` SET `description` = 'نام فروشگاه که در درگاه پرداخت و رسید بانکی به کاربر نمایش داده میشود.' WHERE `key` = 'montify_name';
|
||
|
||
UPDATE `settings` SET `description` = 'روشن: پس از واریز/برداشت، تراکنش به سامانه حسابداری fin همگامسازی میشود.' WHERE `key` = 'payping_fin_sync_enabled';
|
||
UPDATE `settings` SET `description` = 'آدرس کامل endpoint ثبت تراکنش در سامانه fin (POST).' WHERE `key` = 'payping_fin_url';
|
||
UPDATE `settings` SET `description` = 'توکن احراز هویت برای API سامانه fin.' WHERE `key` = 'payping_fin_token';
|
||
UPDATE `settings` SET `description` = 'شناسه مشتری/حساب در سامانه fin که تراکنشها به نام آن ثبت میشوند.' WHERE `key` = 'payping_fin_customer_id';
|
||
UPDATE `settings` SET `description` = 'آدرس API شروع پرداخت (redirect کاربر به درگاه).' WHERE `key` = 'payping_start_url';
|
||
UPDATE `settings` SET `description` = 'آدرس API تأیید و نهاییسازی پرداخت پس از بازگشت از درگاه.' WHERE `key` = 'payping_verify_url';
|
||
UPDATE `settings` SET `description` = 'نام درگاه پرداخت فعال که به سرویس واسط درگاه ارسال میشود|sepal,' WHERE `key` = 'payping_gateway_name';
|
||
UPDATE `settings` SET `description` = 'لیست کدهای item درگاه (با کاما) برای چرخش بین چند merchant.' WHERE `key` = 'payping_gateway_items';
|
||
UPDATE `settings` SET `description` = 'روشن: مبلغ پرداخت به نزدیکترین تومان گرد میشود. خاموش: مبلغ دقیق ریالی.' WHERE `key` = 'payping_round_toman';
|
||
UPDATE `settings` SET `description` = 'روشن: در صورت وجود برداشت ناموفق قبلی، تسویه جدید با احتیاط بیشتر انجام میشود.' WHERE `key` = 'payping_strict_failed_withdraw';
|
||
|
||
UPDATE `settings` SET `description` = 'آدرس IP یا hostname سرور نرمافزار تهحساب روی شبکه داخلی.' WHERE `key` = 'tahesab_host';
|
||
UPDATE `settings` SET `description` = 'شماره پورت اتصال به API تهحساب (معمولاً 8080 یا مقدار مستندات تهحساب).' WHERE `key` = 'tahesab_port';
|
||
UPDATE `settings` SET `description` = 'توکن/API Key اتصال به تهحساب. از پنل تهحساب دریافت میشود.' WHERE `key` = 'tahesab_token';
|
||
UPDATE `settings` SET `description` = 'نام دیتابیس یا شناسه پایگاه در تهحساب که سند به آن ارسال میشود.' WHERE `key` = 'tahesab_db';
|
||
UPDATE `settings` SET `description` = 'نام یا کد حساب بانکی در سند واریز/برداشت تهحساب.' WHERE `key` = 'tahesab_bank_account';
|
||
UPDATE `settings` SET `description` = 'روشن: واریز و برداشت مشتریان بهصورت خودکار به تهحساب ارسال میشود.' WHERE `key` = 'send_to_tahesab';
|
||
|
||
UPDATE `settings` SET `description` = 'نوع پیامرسان برای دکمه پشتیبانی در اپ کاربر|bale,telegram,whatsapp,rubika,eitaa,soroush' WHERE `key` = 'support_messenger';
|
||
UPDATE `settings` SET `description` = 'شناسه تماس پشتیبانی: یوزرنیم (تلگرام)، شماره (واتساپ/بله) یا آیدی بسته به پیامرسان انتخابشده.' WHERE `key` = 'support_messenger_id';
|
||
UPDATE `settings` SET `description` = @deposit_guide_desc WHERE `key` = 'support_messenger_text';
|
||
UPDATE `settings` SET `description` = @deposit_support_msg_desc WHERE `key` = 'deposit_support_message_text';
|
||
UPDATE `settings` SET `description` = @price_channel_message_desc WHERE `key` = 'price_channel_message_text';
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'قالب متن پیام کانال',
|
||
`type` = 'longtext',
|
||
`can_edit` = 1,
|
||
`description` = @price_channel_message_desc
|
||
WHERE `key` = 'price_channel_message_text';
|
||
UPDATE `settings` SET `description` = @invite_link_desc WHERE `key` = 'invite_link_text';
|
||
UPDATE `settings` SET `description` = 'شماره تماس پشتیبانی. اگر پر باشد، در منوی شناور پشتیبانی آیتمهای «تماس» و «پیام» اضافه میشود؛ متن پیام از «متن پیام به پشتیبانی (واریز)» خوانده میشود.' WHERE `key` = 'deposit_sms_support_number';
|
||
|
||
UPDATE `settings` SET `description` = 'توکن ربات تلگرام برای ارسال اعلانها. از BotFather دریافت میشود. محرمانه.' WHERE `key` = 'telegram_bot_token';
|
||
UPDATE `settings` SET `description` = 'توکن ربات بله برای ارسال اعلانها. محرمانه.' WHERE `key` = 'bale_bot_token';
|
||
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از شارژ یا کسر کیف توسط ادمین، پیامک به مشتری و ادمینهای دارای «ارسال پیامک» میرود. خاموش: هیچکدام ارسال نمیشود.' WHERE `key` = 'charge_notif';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از خرید یا فروش موفق، پیامک خلاصه معامله به ادمینهای دارای «ارسال پیامک» میرود. خاموش: ادمین پیامک معامله نمیگیرد.' WHERE `key` = 'sms_notif_order_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از خرید یا فروش موفق، پیامک رسید (مقدار، مبلغ، موجودی) به مشتری میرود. خاموش: مشتری پیامک معامله نمیگیرد.' WHERE `key` = 'sms_notif_order_customer';
|
||
UPDATE `settings` SET `description` = 'روشن: وقتی مشتری درخواست برداشت ریالی میدهد، پیامک به ادمینهای دارای «ارسال پیامک» میرود. خاموش: اعلان برداشت به ادمین نمیرود.' WHERE `key` = 'sms_notif_withdraw_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: رمز یکبارمصرف برداشت برای مشتری پیامک میشود. خاموش: رمز پیامک نمیشود (برداشت با OTP عملاً کار نمیکند). خاموش کردن توصیه نمیشود.' WHERE `key` = 'sms_notif_withdraw_otp';
|
||
UPDATE `settings` SET `description` = 'روشن: رمز یکبارمصرف ورود برای کاربر/مشتری پیامک میشود. خاموش: ورود با OTP ممکن نیست. خاموش کردن توصیه نمیشود.' WHERE `key` = 'sms_notif_login_otp';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از شارژ موفق کیف از درگاه پرداخت، پیامک به ادمینهای دارای «ارسال پیامک» میرود. خاموش: اعلان شارژ درگاه نمیرود.' WHERE `key` = 'sms_notif_gateway_charge_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از ثبتنام، پیامک خوشآمد (نام کاربری و لینک ورود) به مشتری میرود. خاموش: پیامک خوشآمد ارسال نمیشود.' WHERE `key` = 'sms_notif_register_customer';
|
||
UPDATE `settings` SET `description` = 'روشن: وقتی کسی با کد معرف ثبتنام میکند و پیامک به معرف خاموش است، اعلان ثبتنام به ادمین میرود. خاموش: این اعلان ادمین نمیرود.' WHERE `key` = 'sms_notif_register_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: نتیجه احراز هویت جیبیت در ثبتنام برای ادمینهای دارای «ارسال پیامک» پیامک میشود. خاموش: اعلان جیبیت نمیرود.' WHERE `key` = 'sms_notif_jibit_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: وقتی مشتری کارت بانکی جدید ثبت میکند یا احراز کارت ناموفق است، پیامک به ادمین میرود. خاموش: اعلان کارت به ادمین نمیرود.' WHERE `key` = 'sms_notif_bank_card_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از تایید کارت بانکی توسط ادمین، پیامک تایید به مشتری میرود. خاموش: مشتری از تایید کارت پیامک نمیگیرد.' WHERE `key` = 'sms_notif_bank_card_customer';
|
||
UPDATE `settings` SET `description` = 'روشن: برداشت از قلک (ریالی یا طلایی) برای ادمینهای دارای «ارسال پیامک» پیامک میشود. خاموش: اعلان برداشت قلک به ادمین نمیرود.' WHERE `key` = 'sms_notif_fund_withdraw_admin';
|
||
UPDATE `settings` SET `description` = 'روشن: بعد از برداشت از قلک، پیامک رسید به مشتری میرود. خاموش: مشتری پیامک برداشت قلک نمیگیرد.' WHERE `key` = 'sms_notif_fund_withdraw_customer';
|
||
UPDATE `settings` SET `description` = 'روشن: وقتی هشدار قیمت مشتری (اقدام=پیامک) فعال میشود، پیامک به مشتری میرود. خاموش: هشدار قیمت پیامک نمیفرستد.' WHERE `key` = 'sms_notif_price_trigger';
|
||
UPDATE `settings` SET `description` = 'روشن: وقتی اعتبار کیف پول پنل پیامک صفر یا منفی شود، هشدار به سوپرادمین و ادمینهای دارای «ارسال پیامک» میرود. خاموش: این هشدار نمیرود.' WHERE `key` = 'sms_notif_wallet_alert';
|
||
UPDATE `settings` SET `description` = 'روشن: در لیست مشتریان دکمه ارسال پیامک تکی نمایش داده میشود و ادمین میتواند برای هر مشتری متن دلخواه بفرستد. خاموش: دکمه مخفی است. فقط از صفحه دیپلوی تغییر میکند.' WHERE `key` = 'customer_direct_sms';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک تکی به مشتری از لیست' WHERE `key` = 'customer_direct_sms';
|
||
UPDATE `settings` SET `description` = 'روشن: سرویس احراز هویت جیبیت (تطبیق کد ملی/موبایل و کارت بانکی) فعال است. خاموش: هیچ فراخوانی به جیبیت انجام نمیشود و احراز هویت خودکار کار نمیکند. فقط از صفحه دیپلوی قابل تغییر است.' WHERE `key` = 'jibit_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'احراز هویت جیبیت' WHERE `key` = 'jibit_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'سفارش شرطی' WHERE `key` = 'enable_conditional_order';
|
||
UPDATE `settings` SET `description` = 'روشن: امکان ارسال پیامک گروهی از پنل ادمین فعال است.' WHERE `key` = 'group_sms';
|
||
UPDATE `settings` SET `description` = 'روشن: پنل پیامک و کیف پول billing فعال است. خاموش: پیامکها مثل قبل ارسال میشوند بدون billing.' WHERE `key` = 'sms_panel';
|
||
|
||
UPDATE `settings` SET `description` = 'محصولاتی که موجودیشان از کیف طلای اصلی خوانده میشود. چند محصول با کاما. پیشفرض: 13' WHERE `key` = 'main_wallet_products';
|
||
UPDATE `settings` SET `value` = '13' WHERE `key` = 'main_wallet_products' AND TRIM(COALESCE(`value`, '')) = '';
|
||
UPDATE `settings` SET `can_edit` = 0 WHERE `key` = 'main_wallet_products';
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'الزام صفر بودن کیف اصلی قبل از خرید محصول دیگر',
|
||
`type` = 'switch',
|
||
`can_edit` = 1,
|
||
`description` = 'روشن: اگر مانده طلای کیف اصلی صفر یا زیر صفر باشد (بدهی)، مشتری ابتدا باید آبشده/مانده کیف اصلی را صفر کند و بعد میتواند محصول دیگر بخرد. خاموش: بدون این محدودیت. معامله خودِ محصولات کیف اصلی همیشه مجاز است.'
|
||
WHERE `key` = 'require_zero_main_gold_before_other_buy';
|
||
UPDATE `settings` SET `title_fa` = 'الزام صفر بودن کیف اصلی قبل از خرید محصول دیگر' WHERE `key` = 'require_zero_main_gold_before_other_buy';
|
||
UPDATE `settings` SET `description` = 'روشن: API محاسبه سود طلا فعال است. در اکثر نصبها خاموش میماند.' WHERE `key` = 'profit_gold_api_enabled';
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- ensure — کلیدهای longtext (INSERT نهایی + تثبیت type بعد از batchهای type=text)
|
||
-- ---------------------------------------------------------------------------
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'invite_link_text', @invite_link_default_text, 'متن دعوتنامه اشتراکگذاری', 1, 1, @invite_link_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'invite_link_text' LIMIT 1);
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'متن دعوتنامه اشتراکگذاری',
|
||
`type` = 'longtext',
|
||
`description` = @invite_link_desc
|
||
WHERE `key` = 'invite_link_text';
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'deposit_support_message_text', 'شماره حساب', 'متن پیام به پشتیبانی (واریز)', 1, 1, @deposit_support_msg_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_support_message_text' LIMIT 1);
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'متن پیام به پشتیبانی (واریز)',
|
||
`type` = 'longtext',
|
||
`can_edit` = 1,
|
||
`description` = @deposit_support_msg_desc
|
||
WHERE `key` = 'deposit_support_message_text';
|
||
|
||
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
|
||
SELECT 'price_channel_message_text', @price_channel_default_text, 'قالب متن پیام کانال', 1, 1, @price_channel_message_desc, 'longtext'
|
||
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_channel_message_text' LIMIT 1);
|
||
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'قالب متن پیام کانال',
|
||
`type` = 'longtext',
|
||
`can_edit` = 1,
|
||
`description` = @price_channel_message_desc
|
||
WHERE `key` = 'price_channel_message_text';
|
||
|
||
UPDATE `settings` SET `type` = 'longtext'
|
||
WHERE `key` IN (
|
||
'text_rule', 'text_about', 'support_messenger_text', 'invite_link_text',
|
||
'deposit_support_message_text', 'price_channel_message_text',
|
||
'montzar_order_response', 'montzar_last_product_log'
|
||
);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- title_fa — استاندارد مشترک (override؛ value / is_active دست نمیخورند)
|
||
-- ---------------------------------------------------------------------------
|
||
|
||
UPDATE `settings` SET `title_fa` = 'آدرس پنل ادمین' WHERE `key` = 'admin_url';
|
||
UPDATE `settings` SET `title_fa` = 'لینک دانلود اپ اندروید' WHERE `key` = 'apk_download_link';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس اپ (کاربر)' WHERE `key` = 'app_url';
|
||
UPDATE `settings` SET `title_fa` = 'فعالسازی خودکار پس از ثبتنام' WHERE `key` = 'auto_active_customer';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس پایه' WHERE `key` = 'bace_url';
|
||
UPDATE `settings` SET `title_fa` = 'حذف مشتری از تراز' WHERE `key` = 'balance_report_exclude_customer_id';
|
||
UPDATE `settings` SET `title_fa` = 'توکن بات بله' WHERE `key` = 'bale_bot_token';
|
||
UPDATE `settings` SET `title_fa` = 'نمایش بنرها' WHERE `key` = 'banner_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'سود خرید نمایش' WHERE `key` = 'buy_fee';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک شارژ ادمین' WHERE `key` = 'charge_notif';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک خرید/فروش به ادمین' WHERE `key` = 'sms_notif_order_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک خرید/فروش به مشتری' WHERE `key` = 'sms_notif_order_customer';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک درخواست برداشت به ادمین' WHERE `key` = 'sms_notif_withdraw_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک رمز برداشت' WHERE `key` = 'sms_notif_withdraw_otp';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک رمز ورود' WHERE `key` = 'sms_notif_login_otp';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک شارژ درگاه به ادمین' WHERE `key` = 'sms_notif_gateway_charge_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک خوشآمد ثبتنام' WHERE `key` = 'sms_notif_register_customer';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک ثبتنام به ادمین' WHERE `key` = 'sms_notif_register_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک احراز هویت به ادمین' WHERE `key` = 'sms_notif_jibit_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک کارت بانکی به ادمین' WHERE `key` = 'sms_notif_bank_card_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک تایید کارت به مشتری' WHERE `key` = 'sms_notif_bank_card_customer';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک برداشت قلک به ادمین' WHERE `key` = 'sms_notif_fund_withdraw_admin';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک برداشت قلک به مشتری' WHERE `key` = 'sms_notif_fund_withdraw_customer';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک هشدار قیمت' WHERE `key` = 'sms_notif_price_trigger';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک هشدار اعتبار پنل پیامک' WHERE `key` = 'sms_notif_wallet_alert';
|
||
UPDATE `settings` SET `title_fa` = 'UUID نمودار Zaarbox' WHERE `key` = 'chart_id';
|
||
UPDATE `settings` SET `title_fa` = 'نمودار از داده خود سایت' WHERE `key` = 'chart_use_local_data';
|
||
UPDATE `settings` SET `title_fa` = 'بستن خودکار خارج از ساعت کاری' WHERE `key` = 'close_price';
|
||
UPDATE `settings` SET `title_fa` = 'رنگ اصلی' WHERE `key` = 'color_primary';
|
||
UPDATE `settings` SET `title_fa` = 'رنگ ثانویه' WHERE `key` = 'color_secondary';
|
||
UPDATE `settings` SET `title_fa` = 'شماره تماس پشتیبانی' WHERE `key` = 'deposit_sms_support_number';
|
||
UPDATE `settings` SET `title_fa` = 'کمترین قیمت امروز' WHERE `key` = 'down_price';
|
||
UPDATE `settings` SET `title_fa` = 'ساعت پایان' WHERE `key` = 'endDay';
|
||
UPDATE `settings` SET `title_fa` = 'فعالسازی API سفارش خارجی (get_wallet / order)' WHERE `key` = 'external_order_api_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'کارمزد (قدیمی — درصد)' WHERE `key` = 'fee';
|
||
UPDATE `settings` SET `title_fa` = 'تعداد سفارش اول بدون کارمزد' WHERE `key` = 'fee_free';
|
||
UPDATE `settings` SET `title_fa` = 'درصد کارمزد سفارش' WHERE `key` = 'fee_service_charge_percentage';
|
||
UPDATE `settings` SET `title_fa` = 'اعمال مبلغ دقیق در معامله مشتری' WHERE `key` = 'fee_deduct_from_gold';
|
||
UPDATE `settings` SET `title_fa` = 'اختلاف پایه نمایش' WHERE `key` = 'fee_single';
|
||
UPDATE `settings` SET `title_fa` = 'پاداش معرفشونده' WHERE `key` = 'gift_for_referral';
|
||
UPDATE `settings` SET `title_fa` = 'پاداش معرف' WHERE `key` = 'gift_for_referrer';
|
||
UPDATE `settings` SET `title_fa` = 'پیامک گروهی' WHERE `key` = 'group_sms';
|
||
UPDATE `settings` SET `title_fa` = 'پنل پیامک (کیف پول)' WHERE `key` = 'sms_panel';
|
||
UPDATE `settings` SET `title_fa` = 'چت پشتیبانی' WHERE `key` = 'has_chat';
|
||
UPDATE `settings` SET `title_fa` = 'صفحه کسب درآمد' WHERE `key` = 'has_page_earn_money';
|
||
UPDATE `settings` SET `title_fa` = 'صفحه صندوق' WHERE `key` = 'has_page_fund';
|
||
UPDATE `settings` SET `title_fa` = 'صفحه مجوزها' WHERE `key` = 'has_page_permission';
|
||
UPDATE `settings` SET `title_fa` = 'صفحه طلای فیزیکی' WHERE `key` = 'has_page_physical_gold';
|
||
UPDATE `settings` SET `title_fa` = 'صفحه هشدار قیمت' WHERE `key` = 'has_page_price_trigger';
|
||
UPDATE `settings` SET `title_fa` = 'متن دعوتنامه اشتراکگذاری' WHERE `key` = 'invite_link_text';
|
||
UPDATE `settings` SET `title_fa` = 'حالت فروشگاهی' WHERE `key` = 'is_store';
|
||
UPDATE `settings` SET `title_fa` = 'تأیید کارت بانکی با جیبیت' WHERE `key` = 'jibit_verification';
|
||
UPDATE `settings` SET `title_fa` = 'کلید داخلی اپ' WHERE `key` = 'key';
|
||
UPDATE `settings` SET `title_fa` = 'لوگوی صفحه ورود' WHERE `key` = 'logo_login';
|
||
UPDATE `settings` SET `title_fa` = 'لوگوی ثبتنام' WHERE `key` = 'logo_register';
|
||
UPDATE `settings` SET `title_fa` = 'نام فلز اصلی (ادمین)' WHERE `key` = 'main_metal';
|
||
UPDATE `settings` SET `title_fa` = 'محصول آبشده' WHERE `key` = 'main_product';
|
||
UPDATE `settings` SET `title_fa` = 'قیمت از محصول (legacy)' WHERE `key` = 'main_product_price';
|
||
UPDATE `settings` SET `title_fa` = 'محصولات متصل به کیف اصلی' WHERE `key` = 'main_wallet_products';
|
||
UPDATE `settings` SET `title_fa` = 'الزام صفر بودن کیف اصلی قبل از خرید محصول دیگر' WHERE `key` = 'require_zero_main_gold_before_other_buy';
|
||
UPDATE `settings` SET `title_fa` = 'عنوان فلز در UI' WHERE `key` = 'metal_type';
|
||
UPDATE `settings` SET `title_fa` = 'حداقل اولین خرید (ریال)' WHERE `key` = 'min_first_buy';
|
||
UPDATE `settings` SET `title_fa` = 'حداقل برداشت (ریال)' WHERE `key` = 'min_withdraw';
|
||
UPDATE `settings` SET `title_fa` = 'حداقل واریز کیف پول (ریال)' WHERE `key` = 'min_deposit';
|
||
UPDATE `settings` SET `can_edit` = 1 WHERE `key` = 'min_deposit';
|
||
UPDATE `settings` SET `title_fa` = 'حداقل فروش' WHERE `key` = 'minimum_sell';
|
||
UPDATE `settings` SET `title_fa` = 'نام فروشگاه در درگاه' WHERE `key` = 'montify_name';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس سرور همکار' WHERE `key` = 'montzar_base_url';
|
||
UPDATE `settings` SET `title_fa` = 'بسته بودن همکار' WHERE `key` = 'montzar_closed';
|
||
UPDATE `settings` SET `title_fa` = 'اختلاف قیمت همکار' WHERE `key` = 'montzar_diff';
|
||
UPDATE `settings` SET `title_fa` = 'لاگ محصول همکار' WHERE `key` = 'montzar_last_product_log';
|
||
UPDATE `settings` SET `title_fa` = 'قیمت لحظهای همکار' WHERE `key` = 'montzar_live_price';
|
||
UPDATE `settings` SET `title_fa` = 'مظنه همکار' WHERE `key` = 'montzar_mazaneh';
|
||
UPDATE `settings` SET `title_fa` = 'موبایل API همکار' WHERE `key` = 'montzar_mobile';
|
||
UPDATE `settings` SET `title_fa` = 'باز بودن خرید همکار' WHERE `key` = 'montzar_open_buy';
|
||
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';
|
||
UPDATE `settings` SET `title_fa` = 'مظنه فروش همکار' WHERE `key` = 'montzar_truly_sell_mazaneh';
|
||
UPDATE `settings` SET `title_fa` = 'نام انگلیسی اپ' WHERE `key` = 'name_en';
|
||
UPDATE `settings` SET `title_fa` = 'نام فارسی اپ' WHERE `key` = 'name_fa';
|
||
UPDATE `settings` SET `title_fa` = 'شناسه کلاینت API خارجی (X-Client-Id)' WHERE `key` = 'node_client_id';
|
||
UPDATE `settings` SET `title_fa` = 'کلید امضای HMAC API خارجی' WHERE `key` = 'node_shared_secret';
|
||
UPDATE `settings` SET `title_fa` = 'ثبتنام باز' WHERE `key` = 'open_register';
|
||
UPDATE `settings` SET `title_fa` = 'customer_id fin' WHERE `key` = 'payping_fin_customer_id';
|
||
UPDATE `settings` SET `title_fa` = 'همگامسازی fin' WHERE `key` = 'payping_fin_sync_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'توکن fin' WHERE `key` = 'payping_fin_token';
|
||
UPDATE `settings` SET `title_fa` = 'URL fin' WHERE `key` = 'payping_fin_url';
|
||
UPDATE `settings` SET `title_fa` = 'لیست item (چرخشی)' WHERE `key` = 'payping_gateway_items';
|
||
UPDATE `settings` SET `title_fa` = 'نام gateway درگاه' WHERE `key` = 'payping_gateway_name';
|
||
UPDATE `settings` SET `title_fa` = 'گرد کردن مبلغ به تومان' WHERE `key` = 'payping_round_toman';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس شروع درگاه' WHERE `key` = 'payping_start_url';
|
||
UPDATE `settings` SET `title_fa` = 'برداشت ناموفق سختگیرانه' WHERE `key` = 'payping_strict_failed_withdraw';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس تأیید درگاه' WHERE `key` = 'payping_verify_url';
|
||
UPDATE `settings` SET `title_fa` = 'تاریخ min/max روز' WHERE `key` = 'price_extreme_date';
|
||
UPDATE `settings` SET `title_fa` = 'منبع قیمت' WHERE `key` = 'price_provider';
|
||
UPDATE `settings` SET `title_fa` = 'API سود طلا' WHERE `key` = 'profit_gold_api_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'مقدار پاداش معرف' WHERE `key` = 'referral_bonus_amount';
|
||
UPDATE `settings` SET `title_fa` = 'تعداد معرف برای هدیه' WHERE `key` = 'referral_count_for_gift';
|
||
UPDATE `settings` SET `title_fa` = 'کد معرف اجباری' WHERE `key` = 'referral_id';
|
||
UPDATE `settings` SET `title_fa` = 'محدودیت دعوت' WHERE `key` = 'referral_limit';
|
||
UPDATE `settings` SET `title_fa` = 'تأیید کدملی/موبایل در ثبتنام' WHERE `key` = 'register_jibit_verify';
|
||
UPDATE `settings` SET `title_fa` = 'پیام پاداش در SMS ثبتنام' WHERE `key` = 'register_referral_bonus_message';
|
||
UPDATE `settings` SET `title_fa` = 'SMS به معرف هنگام ثبتنام' WHERE `key` = 'register_referral_sms_to_referrer';
|
||
UPDATE `settings` SET `title_fa` = 'پاداش معرف پس از اولین سفارش' WHERE `key` = 'referral_gift_on_first_order';
|
||
UPDATE `settings` SET `title_fa` = 'سود فروش نمایش' WHERE `key` = 'sell_fee';
|
||
UPDATE `settings` SET `title_fa` = 'ارسال به تهحساب' WHERE `key` = 'send_to_tahesab';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس API سرور' WHERE `key` = 'server_url';
|
||
UPDATE `settings` SET `title_fa` = 'کارمزد درصدی (alias)' WHERE `key` = 'service_charge_percentage';
|
||
UPDATE `settings` SET `title_fa` = 'نمایش آخرین قیمت ذخیرهشده' WHERE `key` = 'show_last_price';
|
||
UPDATE `settings` SET `title_fa` = 'نمایش قیمت انس طلا' WHERE `key` = 'show_gold_ounce_price';
|
||
UPDATE `settings` SET `title_fa` = 'مسیر SSE قیمت' WHERE `key` = 'sse_path';
|
||
UPDATE `settings` SET `title_fa` = 'ساعت شروع' WHERE `key` = 'startDay';
|
||
UPDATE `settings` SET `title_fa` = 'وضعیت فروشگاه' WHERE `key` = 'store_status';
|
||
UPDATE `settings` SET `title_fa` = 'پیامرسان پشتیبانی' WHERE `key` = 'support_messenger';
|
||
UPDATE `settings` SET `title_fa` = 'شناسه پشتیبانی پیامرسان' WHERE `key` = 'support_messenger_id';
|
||
UPDATE `settings` SET `title_fa` = 'متن راهنمای واریز' WHERE `key` = 'support_messenger_text';
|
||
UPDATE `settings` SET `title_fa` = 'متن پیام به پشتیبانی (واریز)' WHERE `key` = 'deposit_support_message_text';
|
||
UPDATE `settings` SET `title_fa` = 'نام صاحب حساب واریز' WHERE `key` = 'deposit_account_holder';
|
||
UPDATE `settings` SET `title_fa` = 'شماره کارت واریز' WHERE `key` = 'deposit_card_number';
|
||
UPDATE `settings` SET `title_fa` = 'شبا واریز' WHERE `key` = 'deposit_sheba';
|
||
UPDATE `settings` SET `title_fa` = 'حساب بانکی تهحساب' WHERE `key` = 'tahesab_bank_account';
|
||
UPDATE `settings` SET `title_fa` = 'نام دیتابیس تهحساب' WHERE `key` = 'tahesab_db';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس IP سرور تهحساب' WHERE `key` = 'tahesab_host';
|
||
UPDATE `settings` SET `title_fa` = 'پورت سرور تهحساب' WHERE `key` = 'tahesab_port';
|
||
UPDATE `settings` SET `title_fa` = 'توکن تهحساب' WHERE `key` = 'tahesab_token';
|
||
UPDATE `settings` SET `title_fa` = 'توکن بات تلگرام' WHERE `key` = 'telegram_bot_token';
|
||
UPDATE `settings` SET `title_fa` = 'متن درباره ما' WHERE `key` = 'text_about';
|
||
UPDATE `settings` SET `title_fa` = 'متن قوانین' WHERE `key` = 'text_rule';
|
||
UPDATE `settings` SET `title_fa` = 'عنوان favicon' WHERE `key` = 'title_fav';
|
||
UPDATE `settings` SET `title_fa` = 'عنوان PWA' WHERE `key` = 'title_pwa';
|
||
UPDATE `settings` SET `title_fa` = 'واحد وزن دارایی و معاملات' WHERE `key` = 'unit';
|
||
UPDATE `settings` SET `title_fa` = 'بیشترین قیمت امروز' WHERE `key` = 'up_price';
|
||
UPDATE `settings` SET `title_fa` = 'قیمت لحظهای (SSE)' WHERE `key` = 'wss_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'سایتهای ریگیری' WHERE `key` = 'tracking_systems';
|
||
UPDATE `settings` SET `title_fa` = 'نمایش سایتهای ریگیری' WHERE `key` = 'tracking_systems_enabled';
|
||
UPDATE `settings` SET `title_fa` = 'نمایش منوی مجوزها' WHERE `key` = 'permision__enabled';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس API تابلو Zaarbox' WHERE `key` = 'zaarbox_api_url';
|
||
UPDATE `settings` SET `title_fa` = 'شناسه ردیف تابلو (key یا UUID)' WHERE `key` = 'zaarbox_price_key';
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- can_edit — استاندارد مشترک (override؛ value دست نمیخورد)
|
||
-- ---------------------------------------------------------------------------
|
||
|
||
-- غیرقابل ویرایش در پنل (can_edit = 0)
|
||
UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
|
||
'admin_url', 'apk_download_link', 'app_url',
|
||
'bale_bot_token',
|
||
'chart_id', 'chart_use_local_data',
|
||
'external_order_api_enabled',
|
||
'fee_deduct_from_gold',
|
||
'fee_single',
|
||
'referral_bonus_amount',
|
||
'group_sms',
|
||
'customer_direct_sms',
|
||
'enable_conditional_order',
|
||
'jibit_enabled',
|
||
'has_page_earn_money',
|
||
'is_store',
|
||
'sms_panel',
|
||
'logo_login', 'logo_register', 'title_pwa', 'title_fav',
|
||
'main_product', 'main_wallet_products', 'metal_type', 'main_metal',
|
||
'montify_name',
|
||
'montzar_base_url', 'montzar_closed',
|
||
'montzar_diff', 'montzar_last_product_log', 'montzar_live_price', 'montzar_mazaneh',
|
||
'montzar_order_response', 'montzar_token',
|
||
'montzar_truly_buy_mazaneh', 'montzar_truly_sell_mazaneh',
|
||
'node_client_id', 'node_shared_secret',
|
||
'payping_fin_customer_id', 'payping_fin_sync_enabled', 'payping_fin_token', 'payping_fin_url',
|
||
'payping_gateway_items', 'payping_gateway_name',
|
||
'payping_round_toman', 'payping_start_url', 'payping_strict_failed_withdraw', 'payping_verify_url',
|
||
'permision__enabled',
|
||
'price_extreme_date', 'price_provider', 'profit_gold_api_enabled',
|
||
'send_to_tahesab', 'service_charge_percentage',
|
||
'sse_path',
|
||
'tahesab_bank_account', 'tahesab_db', 'tahesab_host', 'tahesab_port', 'tahesab_token',
|
||
'telegram_bot_token', 'rubika_bot_token',
|
||
'price_channel_bale_to', 'price_channel_telegram_to', 'price_channel_rubika_to',
|
||
'unit',
|
||
'up_price', 'down_price',
|
||
'wss_enabled',
|
||
'zaarbox_api_url'
|
||
);
|
||
|
||
-- قابل ویرایش در پنل (can_edit = 1)
|
||
UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
|
||
'name_fa',
|
||
'auto_active_customer', 'balance_report_exclude_customer_id',
|
||
'buy_fee', 'charge_notif', 'close_price',
|
||
'require_zero_main_gold_before_other_buy',
|
||
'sms_notif_order_admin', 'sms_notif_order_customer',
|
||
'sms_notif_withdraw_admin', 'sms_notif_withdraw_otp', 'sms_notif_login_otp',
|
||
'sms_notif_gateway_charge_admin', 'sms_notif_register_customer', 'sms_notif_register_admin',
|
||
'sms_notif_jibit_admin', 'sms_notif_bank_card_admin', 'sms_notif_bank_card_customer',
|
||
'sms_notif_fund_withdraw_admin', 'sms_notif_fund_withdraw_customer',
|
||
'sms_notif_price_trigger', 'sms_notif_wallet_alert',
|
||
'deposit_sms_support_number', 'deposit_support_message_text',
|
||
'deposit_account_holder', 'deposit_card_number', 'deposit_sheba',
|
||
'endDay',
|
||
'fee_free', 'fee_service_charge_percentage',
|
||
'gift_for_referral', 'gift_for_referrer',
|
||
'invite_link_text',
|
||
'jibit_verification',
|
||
'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',
|
||
'open_register',
|
||
'referral_id', 'referral_limit', 'referral_gift_on_first_order',
|
||
'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',
|
||
'sell_fee', 'show_last_price', 'show_gold_ounce_price', 'startDay',
|
||
'support_messenger', 'support_messenger_id', 'support_messenger_text',
|
||
'deposit_support_message_text', 'deposit_account_holder', 'deposit_card_number', 'deposit_sheba',
|
||
'text_about', 'text_rule',
|
||
'price_channel_enabled', 'price_channel_messengers', 'price_channel_diff',
|
||
'price_channel_min_seconds', 'price_channel_message_text',
|
||
'price_channel_footer_id', 'price_channel_footer_phone',
|
||
'price_channel_footer_link', 'change_mesghal',
|
||
'tracking_systems', 'tracking_systems_enabled',
|
||
'banner_enabled',
|
||
'zaarbox_price_key'
|
||
);
|
||
|
||
-- تفکیک نهایی type (بعد از همه batchها — override روی دیتابیس موجود)
|
||
UPDATE `settings` SET `type` = 'price' WHERE `key` IN (
|
||
'fee_single', 'buy_fee', 'sell_fee',
|
||
'min_withdraw', 'min_deposit', 'min_first_buy', 'minimum_sell',
|
||
'up_price', 'down_price'
|
||
);
|
||
UPDATE `settings` SET `type` = 'number' WHERE `key` IN (
|
||
'fee_service_charge_percentage', 'fee_free', 'service_charge_percentage',
|
||
'montzar_product_id', 'gift_for_referrer', 'gift_for_referral',
|
||
'payping_fin_customer_id', 'tahesab_port', 'referral_limit',
|
||
'deposit_sms_support_number',
|
||
'pargar_item_id_rial', 'pargar_item_id_gold'
|
||
);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- تثبیت نهایی fee_deduct_from_gold — آخرین override قبل از COMMIT
|
||
-- (title_fa / description / type / can_edit — value و is_active دست نمیخورند)
|
||
-- ---------------------------------------------------------------------------
|
||
UPDATE `settings` SET
|
||
`title_fa` = 'اعمال مبلغ دقیق در معامله مشتری',
|
||
`type` = 'switch',
|
||
`can_edit` = 0,
|
||
`description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت میکند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر میشود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه میشود. خاموش (پیشفرض): در فروش کارمزد از مبلغ ریالی واریزی کم میشود (مشتری مبلغ کمتری میگیرد). در خرید کارمزد از وزن طلای واریزی کم میشود (مشتری طلای کمتری میگیرد).'
|
||
WHERE `key` = 'fee_deduct_from_gold';
|
||
|
||
-- حسابداری: یک select مرکزی + can_edit=0
|
||
UPDATE `settings` SET `can_edit` = 0, `is_active` = 0 WHERE `key` IN ('send_to_tahesab', 'send_to_pargar');
|
||
UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
|
||
'accounting_provider',
|
||
'tahesab_host', 'tahesab_port', 'tahesab_token', 'tahesab_db', 'tahesab_bank_account',
|
||
'zarin_api', 'zarin_token', 'zarin_noe_kar', 'zarin_gorohe_kar', 'zarin_name_g', 'zarin_uid_prefix',
|
||
'pargar_username', 'pargar_password', 'pargar_api_token',
|
||
'pargar_item_id_rial', 'pargar_item_id_gold'
|
||
);
|
||
UPDATE `settings` SET `can_edit` = 0, `is_active` = 1 WHERE `key` LIKE 'zarin_%';
|
||
UPDATE `settings` SET `type` = 'text', `can_edit` = 0 WHERE `key` IN ('zarin_api', 'zarin_token', 'zarin_name_g', 'zarin_uid_prefix');
|
||
UPDATE `settings` SET `type` = 'number', `can_edit` = 0 WHERE `key` IN ('zarin_noe_kar', 'zarin_gorohe_kar');
|
||
UPDATE `settings` SET `title_fa` = 'سیستم حسابداری', `type` = 'select', `description` = 'none,pargar,tahesab,zarin'
|
||
WHERE `key` = 'accounting_provider';
|
||
UPDATE `settings` SET `description` = 'سیستم حسابداری: none=هیچکدام، pargar=API پرگار، tahesab=ارسال خودکار تهحساب، zarin=ارسال خودکار زرین.' WHERE `key` = 'accounting_provider';
|
||
UPDATE `settings` SET `title_fa` = 'آدرس API زرین', `description` = 'آدرس پایه وبسرویس زرین (بدون /ZarrinService/accounting).' WHERE `key` = 'zarin_api';
|
||
UPDATE `settings` SET `title_fa` = 'توکن زرین', `description` = 'توکن مکمل API زرین که در نرمافزار زرین تعریف میشود.' WHERE `key` = 'zarin_token';
|
||
UPDATE `settings` SET `title_fa` = 'نوع کار پیشفرض زرین', `type` = 'number', `description` = 'کد noeKar هنگام ساخت کار ساخته در زرین.' WHERE `key` = 'zarin_noe_kar';
|
||
UPDATE `settings` SET `title_fa` = 'گروه کار پیشفرض زرین', `type` = 'number', `description` = 'کد gorooheKar هنگام ساخت/جستجوی کار در زرین. برای جداسازی چند پنل روی یک زرین، برای هر پنل مقدار متفاوت بگذارید.' WHERE `key` = 'zarin_gorohe_kar';
|
||
UPDATE `settings` SET `title_fa` = 'نام گروه حساب مشتریان زرین', `type` = 'text', `description` = 'پارامتر nameG در addhesab. اگر چند پنل یک توکن زرین دارند، برای هر پنل نام گروه متفاوت بگذارید. خالی = نام برند (name_fa).' WHERE `key` = 'zarin_name_g';
|
||
UPDATE `settings` SET `title_fa` = 'پیشوند عددی uid زرین', `type` = 'text', `description` = 'فقط عدد. وقتی چند پنل یک زرین دارند باید متفاوت باشد تا uid تکراری نشود.' WHERE `key` = 'zarin_uid_prefix';
|
||
UPDATE `settings` SET `value` = 'pargar'
|
||
WHERE `key` = 'accounting_provider'
|
||
AND TRIM(COALESCE(`value`, '')) IN ('', 'none')
|
||
AND EXISTS (SELECT 1 FROM (SELECT `value` FROM `settings` WHERE `key` = 'send_to_pargar') AS s WHERE s.`value` IN ('true', '1', 'yes'));
|
||
UPDATE `settings` SET `value` = 'tahesab'
|
||
WHERE `key` = 'accounting_provider'
|
||
AND TRIM(COALESCE(`value`, '')) IN ('', 'none')
|
||
AND EXISTS (SELECT 1 FROM (SELECT `value` FROM `settings` WHERE `key` = 'send_to_tahesab') AS s WHERE s.`value` IN ('true', '1', 'yes'));
|
||
|
||
COMMIT;
|
||
|
||
SELECT 'deploy_settings_const.sql finished' AS status;
|
||
|
||
-- بررسی fee_deduct_from_gold (desc_preview باید با «مشتری دقیقاً» شروع شود):
|
||
SELECT `key`, `title_fa`, LEFT(`description`, 60) AS desc_preview, `can_edit`, `type`, `value`
|
||
FROM `settings`
|
||
WHERE `key` = 'fee_deduct_from_gold';
|
||
|
||
-- بعد از اجرا (اختیاری):
|
||
-- SELECT `key`, `title_fa`, `value`, `type`, `is_active` FROM `settings` ORDER BY `key`;
|
||
-- SELECT `key`, `value`, `title_fa` FROM `const` ORDER BY `key`;
|