247 lines
17 KiB
SQL
247 lines
17 KiB
SQL
-- =============================================================================
|
|
-- کاتالوگ واحد تنظیمات — ابشدهخانگی / گلد علی / montzar / zaarbox
|
|
--
|
|
-- • ردیف موجود: value عوض نمیشود؛ title_fa و can_edit بهروز میشود
|
|
-- • ردیف جدید: INSERT با مقدار پیشفرض خالی/false
|
|
-- • jibit_counter در جدول const است (نه settings)
|
|
--
|
|
-- قبل از اجرا: USE دیتابیس پروژه + بکاپ
|
|
-- =============================================================================
|
|
|
|
START TRANSACTION;
|
|
|
|
-- helper: فقط عنوان و can_edit را برای کلیدهای موجود هماهنگ کن
|
|
-- (value دست نخورده)
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- قیمت — منبع و zaarbox / main_product
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'price_provider', 'montzar', 'منبع قیمت', 1, 1, 'montzar | zaarbox | main_product | taban_gohar | etehadie'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_provider' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'main_product', '13', 'محصول آبشده (id یا reading_method)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'zaarbox_api_url', 'https://price.zaarbox.ir/api/free', 'آدرس API تابلو Zaarbox', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_api_url' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'zaarbox_price_key', '', 'شناسه ردیف تابلو (key یا UUID)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'zaarbox_price_key' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'chart_id', '', 'UUID نمودار Zaarbox', 1, 1, 'خالی = ca3800a0-1f57-3528-b963-178f9168e04f'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'chart_id' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'price_method', '', 'کلید محصول API اتحادیه (legacy)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'price_method' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'etehadie_api_url', 'http://109.122.246.48:4949/api/free', 'آدرس API اتحادیه', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'etehadie_api_url' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'main_product_price', 'false', 'دریافت قیمت از محصولات (legacy)', 1, 1, 'جایگزین: price_provider=main_product'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product_price' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'tabanGohar_price', 'false', 'دریافت قیمت تابان گوهر', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tabanGohar_price' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'show_last_price', 'true', 'نمایش آخرین قیمت DB وقتی API قطع است', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'show_last_price' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- Montzar / همکار (لیمان)
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_price', 'false', 'دریافت قیمت از همکار', 1, 1, 'true یا price_provider=montzar'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_price' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_mobile', '', 'موبایل ورود API همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_mobile' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_password', '', 'رمز ورود API همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_password' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_product_id', '25', 'کد محصول همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_product_id' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_base_url', 'https://limangold.ir', 'آدرس سرور همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_base_url' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_token', '', 'توکن همکار (سیستم)', 0, 1, 'خودکار پر میشود'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_token' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_closed', 'false', 'بسته بودن سرویس همکار', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_closed' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_open_buy', 'true', 'باز بودن خرید همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_open_buy' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_open_sell', 'true', 'باز بودن فروش همکار', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_open_sell' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_diff', '0', 'اختلاف قیمت همکار (سیستم)', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_diff' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_live_price', '0', 'قیمت لحظهای همکار', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_live_price' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_mazaneh', '0', 'مظنه همکار', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_mazaneh' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_truly_buy_mazaneh', '0', 'مظنه خرید واقعی همکار', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_truly_buy_mazaneh' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'montzar_truly_sell_mazaneh', '0', 'مظنه فروش واقعی همکار', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montzar_truly_sell_mazaneh' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'display_montzar', 'true', 'نمایش بلوک همکار در UI', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'display_montzar' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'liman_token', '', 'توکن لیمان (legacy)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'liman_token' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- کارمزد نمایش و سفارش
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'fee_single', '500000', 'اختلاف پایه نمایش (ریال)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_single' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'buy_fee', '500000', 'سود خرید نمایش', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'buy_fee' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'sell_fee', '500000', 'سود فروش نمایش', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sell_fee' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'fee_cash', '500000', 'اختلاف ریالی سفارش (legacy)', 1, 1, 'zaarbox/main از buy_fee هم استفاده میشود'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_cash' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'fee_service_charge_percentage', '0.005', 'درصد کارمزد سفارش', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_service_charge_percentage' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- Jibit — settings
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'jibit_verification', 'false', 'تأیید کارت بانکی با جیبیت', 1, 1, 'true/false'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'jibit_verification' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'register_jibit_verify', 'false', 'تأیید کدملی/موبایل در ثبتنام', 1, 1, 'true/false'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'register_jibit_verify' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- ساعات بسته بودن قیمت
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'close_price', 'false', 'بستن قیمت در بازه زمانی', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'close_price' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'startDay', '10:00', 'شروع بازه معامله', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'startDay' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'endDay', '20:30', 'پایان بازه معامله', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'endDay' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- const — شمارنده و موارد پرکاربرد (جدول const یا cnt)
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
|
SELECT 'jibit_counter', '0', 'شمارنده درخواست جیبیت'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'jibit_counter' LIMIT 1);
|
|
|
|
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
|
SELECT 'main_product', '13', 'محصول آبشده (پشتیبان settings)'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'main_product' LIMIT 1);
|
|
|
|
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
|
SELECT 'limited_price', '0', 'سقف واریز اولیه'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'limited_price' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- API خارجی Node (HMAC) — NODE_CLIENT_ID / NODE_SHARED_SECRET
|
|
-- -----------------------------------------------------------------------------
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'node_client_id', '', 'شناسه کلاینت API خارجی (X-Client-Id)', 1, 1, 'fallback: .env NODE_CLIENT_ID'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'node_client_id' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'node_shared_secret', '', 'کلید امضای HMAC API خارجی', 1, 1, 'fallback: .env NODE_SHARED_SECRET'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'node_shared_secret' LIMIT 1);
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'external_order_api_enabled', 'false', 'API سفارش خارجی (get_wallet / order)', 1, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'external_order_api_enabled' LIMIT 1);
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- عنوان فارسی + can_edit برای کلیدهای موجود
|
|
-- -----------------------------------------------------------------------------
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'منبع قیمت'), `can_edit` = 1 WHERE `key` = 'price_provider';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'محصول آبشده'), `can_edit` = 1 WHERE `key` = 'main_product';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'آدرس API Zaarbox'), `can_edit` = 1 WHERE `key` = 'zaarbox_api_url';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'شناسه ردیف Zaarbox'), `can_edit` = 1 WHERE `key` = 'zaarbox_price_key';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'UUID نمودار'), `can_edit` = 1 WHERE `key` = 'chart_id';
|
|
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'دریافت قیمت همکار'), `can_edit` = 1 WHERE `key` = 'montzar_price';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'موبایل همکار'), `can_edit` = 1 WHERE `key` = 'montzar_mobile';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'رمز همکار'), `can_edit` = 1 WHERE `key` = 'montzar_password';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'کد محصول همکار'), `can_edit` = 1 WHERE `key` = 'montzar_product_id';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'آدرس همکار'), `can_edit` = 1 WHERE `key` = 'montzar_base_url';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'توکن همکار'), `can_edit` = 0 WHERE `key` = 'montzar_token';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'اختلاف همکار'), `can_edit` = 0 WHERE `key` = 'montzar_diff';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'قیمت لحظهای همکار'), `can_edit` = 0 WHERE `key` = 'montzar_live_price';
|
|
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'تأیید کارت جیبیت'), `can_edit` = 1 WHERE `key` = 'jibit_verification';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'تأیید ثبتنام جیبیت'), `can_edit` = 1 WHERE `key` = 'register_jibit_verify';
|
|
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'سود خرید'), `can_edit` = 1 WHERE `key` = 'buy_fee';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'سود فروش'), `can_edit` = 1 WHERE `key` = 'sell_fee';
|
|
UPDATE `settings` SET `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'اختلاف پایه'), `can_edit` = 1 WHERE `key` = 'fee_single';
|
|
|
|
-- نوع فیلد پنل ادمین
|
|
UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ('text_rule', 'text_about');
|
|
UPDATE `settings` SET `type` = 'select', `description` = 'montzar,zaarbox,main_product,etehadie,taban_gohar' WHERE `key` = 'price_provider';
|
|
UPDATE `settings` SET `type` = 'switch' WHERE `key` IN (
|
|
'jibit_verification', 'register_jibit_verify', 'montzar_price', 'main_product_price',
|
|
'tabanGohar_price', 'show_last_price', 'close_price', 'montzar_closed', 'montzar_open_buy', 'montzar_open_sell', 'display_montzar',
|
|
'external_order_api_enabled'
|
|
);
|
|
UPDATE `settings` SET `type` = 'number' WHERE `key` IN ('fee_single', 'buy_fee', 'sell_fee', 'fee_cash', 'fee_service_charge_percentage', 'montzar_product_id');
|
|
UPDATE `settings` SET `type` = 'text' WHERE `type` IS NULL OR TRIM(`type`) = '';
|
|
|
|
COMMIT;
|
|
|
|
-- پروژه گلد علی: بعد از این فایل فقط goldali_database_settings.sql یا goldali_zaarbox_price.sql
|
|
-- برای valueهای اختصاصی (price_provider=zaarbox و ...) بزنید.
|
|
--
|
|
-- jibit_counter در پنل «تنظیمات» نیست مگر const را جدا مدیریت کنید — در const/cnt است.
|