Files
boursecu_server/database/sql/goldali_compat_patch.sql
T
2026-06-04 14:19:54 +03:30

103 lines
6.8 KiB
SQL

-- گلد علی — پچ بعد از deploy سرور Abshode_Khanegi + کلاینت/ادمین برنچ goldAli
-- (payping + کلیدهای لازم ادمین/یوزر). اگر قبلاً goldali_post_merge_settings زده‌اید، همین را بزنید.
START TRANSACTION;
-- قیمت: محصول اصلی (نه اتحادیه)
UPDATE `settings` SET `value` = 'main_product' WHERE `key` = 'price_provider';
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
SELECT 'price_provider', 'main_product', 'منبع قیمت', 1, 1, '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);
UPDATE `settings` SET `value` = '13' WHERE `key` = 'main_product';
-- درگاه (اگر قبلاً نزده‌اید)
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, NULL
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');
-- API سود طلا (کلاینت /customer/profit_gold)
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);
UPDATE `settings` SET `value` = 'true' WHERE `key` = 'profit_gold_api_enabled';
-- ثبت‌نام باز (AuthController)
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);
UPDATE `settings` SET `is_active` = 1 WHERE `key` = 'open_register';
-- تراز ادمین: حساب تست را از گزارش حذف کن (گلد علی معمولاً 12)
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 `settings` SET `value` = '12' WHERE `key` = 'balance_report_exclude_customer_id';
-- const — کلاینت و ادمین
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);
INSERT INTO `const` (`key`, `value`, `title_fa`)
SELECT 'limited_price', '0', 'سقف قیمت محدود'
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'limited_price' LIMIT 1);
INSERT INTO `const` (`key`, `value`, `title_fa`)
SELECT 'header_banner', '', 'بنر بالای صفحه'
WHERE NOT EXISTS (SELECT 1 FROM `const` WHERE `key` = 'header_banner' 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);
-- کارمزد سفارش (مثل config/fee.php برنچ goldAliii — نه fee_single نمایش قیمت)
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`)
SELECT 'fee_cash', '0', 'اختلاف ریالی هر گرم (سفارش)', 1, 1, 'گلد علی: 0'
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.02', 'درصد کارمزد سفارش', 1, 1, 'هم‌تراز percent_fee_buy'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_service_charge_percentage' LIMIT 1);
UPDATE `settings` SET `value` = '0' WHERE `key` = 'fee_cash';
UPDATE `settings` SET `value` = '0.02' WHERE `key` = 'fee_service_charge_percentage';
-- ستون type (ادمین Abshode — اختیاری؛ کد بدون آن هم کار می‌کند)
-- اگر خطای Duplicate column name گرفتید، یعنی قبلاً اضافه شده — رد کنید.
ALTER TABLE `settings`
ADD COLUMN `type` VARCHAR(64) NULL DEFAULT NULL COMMENT 'نوع فیلد در پنل ادمین' AFTER `description`;
COMMIT;