180 lines
13 KiB
SQL
180 lines
13 KiB
SQL
-- =============================================================================
|
|
-- گلد علی — اسکریپت محافظهکارانه (بعد از deploy کد Abshode_Khanegi مرجشده)
|
|
--
|
|
-- اصول:
|
|
-- • هیچ ردیفی DELETE نمیشود
|
|
-- • value ردیفهای موجود عمداً عوض نمیشود (فقط INSERT اگر key نبود)
|
|
-- • استثنا: price_provider (کلید جدید) + montzar_price اگر وجود داشت → false
|
|
-- • title_fa فقط جایی که NULL یا خالی است پر میشود
|
|
--
|
|
-- قبل از اجرا: بکاپ + USE دیتابیس
|
|
-- =============================================================================
|
|
|
|
-- USE `goldali_db`;
|
|
|
|
START TRANSACTION;
|
|
|
|
-- =============================================================================
|
|
-- بخش ۱ — عنوان فارسی (بدون تغییر value)
|
|
-- =============================================================================
|
|
|
|
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_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` = 'is_requaire_referral' 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`) = '');
|
|
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_first_buy' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
|
|
|
UPDATE `const` SET `title_fa` = 'سقف قیمت محدود' WHERE `key` = 'limited_price' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
|
UPDATE `const` SET `title_fa` = 'باز بودن درگاه پرداخت' WHERE `key` = 'is_gateway_open' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
|
UPDATE `const` SET `title_fa` = 'بنر بالای صفحه' WHERE `key` = 'header_banner' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
|
|
|
-- =============================================================================
|
|
-- بخش ۲ — کلیدهای جدید کد (فقط INSERT اگر نبودند؛ value فعلی دست نخورده)
|
|
-- =============================================================================
|
|
|
|
-- منبع قیمت: اتحادیه (تنها منبع فعال در کد مرجشده)
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'price_provider', 'main_product', 'منبع قیمت',
|
|
1, 1, 'گلد علی: main_product — montzar | taban_gohar | main_product'
|
|
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', 'شناسه محصول آبشده', 1, 1, 'اول settings، بعد const'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'main_product' LIMIT 1);
|
|
|
|
-- کارمزد نمایش buy/sell در /api/price/last — کد fee_single میخواند (نه fee)
|
|
-- مقدار 500000 = پیشفرض config/fee.php؛ اگر برای گلد علی عدد دیگری دارید بعداً در پنل عوض کنید
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'fee_single', '500000', 'اختلاف قیمت پایه (ریال)', 1, 1, 'پیشفرض Laravel fee.single'
|
|
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, 'اگر خالی باشد از fee_single'
|
|
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, 'اگر خالی باشد از fee_single'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sell_fee' LIMIT 1);
|
|
|
|
-- ثبتنام: کد referral_id را هم چک میکند (کنار is_requaire_referral)
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'referral_id', 'required', 'الزام کد معرف', 0, 1, 'required یا خالی'
|
|
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`)
|
|
SELECT 'profit_gold_api_enabled', 'true', 'API سود طلا', 0, 1, NULL
|
|
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`)
|
|
SELECT 'open_register', '1', 'ثبتنام باز', 1, 1, NULL
|
|
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`)
|
|
SELECT 'balance_report_exclude_customer_id', '12', 'حذف مشتری از تراز', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'balance_report_exclude_customer_id' LIMIT 1);
|
|
|
|
-- =============================================================================
|
|
-- بخش ۳ — فقط چند UPDATE مطمئن (کلیدهای مربوط به کد جدید)
|
|
-- =============================================================================
|
|
|
|
UPDATE `settings` SET `value` = 'main_product', `title_fa` = COALESCE(NULLIF(TRIM(`title_fa`), ''), 'منبع قیمت')
|
|
WHERE `key` = 'price_provider';
|
|
UPDATE `settings` SET `value` = '13' WHERE `key` = 'main_product';
|
|
UPDATE `settings` SET `value` = 'true' WHERE `key` = 'profit_gold_api_enabled';
|
|
UPDATE `settings` SET `is_active` = 1 WHERE `key` = 'open_register';
|
|
UPDATE `settings` SET `value` = '12' WHERE `key` = 'balance_report_exclude_customer_id';
|
|
|
|
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
|
SELECT 'is_gateway_open', '1', 'باز بودن درگاه پرداخت'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'is_gateway_open' 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 'first_customer_wallet_value', '0', 'حداقل موجودی اول خرید'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'first_customer_wallet_value' LIMIT 1);
|
|
|
|
-- legacy price_method حذف شد — از price_provider + zaarbox_price_key استفاده کنید.
|
|
|
|
-- =============================================================================
|
|
-- بخش ۳ب — درگاه پرداخت گلد علی (payment.goldaliii.com)
|
|
-- =============================================================================
|
|
|
|
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
|
|
SELECT 'payping_start_url', 'https://payment.goldaliii.com/payment/start', 'آدرس شروع درگاه', 1, 1, NULL
|
|
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`)
|
|
SELECT 'payping_verify_url', 'https://payment.goldaliii.com/payment/verify', 'آدرس تأیید درگاه', 1, 1, NULL
|
|
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`)
|
|
SELECT 'payping_gateway_name', 'sepal', 'نام gateway درگاه', 1, 1, 'گلد علی: sepal'
|
|
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`)
|
|
SELECT 'payping_gateway_items', 'sDsB,gp1Q,GPH4,AMAX,TbQl,AAQl', 'لیست item (چرخشی)', 1, 1, NULL
|
|
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`)
|
|
SELECT 'payping_round_toman', 'true', 'گرد کردن مبلغ به تومان', 0, 1, NULL
|
|
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`)
|
|
SELECT 'payping_strict_failed_withdraw', 'true', 'اولویت تراکنش ناموفق', 0, 1, NULL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'payping_strict_failed_withdraw' LIMIT 1);
|
|
|
|
UPDATE `settings` SET `value` = 'https://payment.goldaliii.com/payment/start' WHERE `key` = 'payping_start_url';
|
|
UPDATE `settings` SET `value` = 'https://payment.goldaliii.com/payment/verify' WHERE `key` = 'payping_verify_url';
|
|
UPDATE `settings` SET `value` = 'sepal' WHERE `key` = 'payping_gateway_name';
|
|
UPDATE `settings` SET `value` = 'sDsB,gp1Q,GPH4,AMAX,TbQl,AAQl' WHERE `key` = 'payping_gateway_items';
|
|
UPDATE `settings` SET `value` = 'true' WHERE `key` IN ('payping_round_toman', 'payping_strict_failed_withdraw');
|
|
|
|
-- =============================================================================
|
|
-- بخش ۴ — const (حداقلی)
|
|
-- =============================================================================
|
|
|
|
UPDATE `const` SET `title_fa` = 'بسته بودن اپ' WHERE `key` = 'app_closed' AND (`title_fa` IS NULL OR TRIM(`title_fa`) = '');
|
|
|
|
INSERT INTO `const` (`key`, `value`, `title_fa`)
|
|
SELECT 'app_closed', 'false', 'بسته بودن اپ'
|
|
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'app_closed' LIMIT 1);
|
|
|
|
-- =============================================================================
|
|
-- بررسی — بعد از COMMIT اینها را بزن
|
|
-- =============================================================================
|
|
-- SELECT `key`, `title_fa`, `value` FROM `settings`
|
|
-- WHERE `key` IN (
|
|
-- 'price_provider', 'profit_gold_api_enabled',
|
|
-- 'fee_single', 'buy_fee', 'sell_fee',
|
|
-- 'referral_id', 'is_requaire_referral',
|
|
-- 'payping_start_url', 'payping_verify_url', 'payping_gateway_name'
|
|
-- )
|
|
-- ORDER BY `key`;
|
|
|
|
COMMIT;
|
|
|
|
-- اگر جدولت `setting` است نه `settings`، همه `settings` را به `setting` عوض کن.
|