-- گلد علی — پچ بعد از deploy سرور Abshode_Khanegi + کلاینت/ادمین برنچ goldAli -- (payping + کلیدهای لازم ادمین/یوزر). اگر قبلاً goldali_post_merge_settings زده‌اید، همین را بزنید. START TRANSACTION; -- قیمت از تابلو Zaarbox (یا main_product — یکی را انتخاب کنید) -- UPDATE `settings` SET `value` = 'zaarbox' WHERE `key` = 'price_provider'; 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, 'montzar | taban_gohar | main_product | zaarbox' 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 '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', 'estjt_41670cdf0270a874b68a0a95a235f9a1', 'key یا id ردیف در JSON', 1, 1, 'مثلاً estjt_... یا UUID' 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 '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;