diff --git a/app/Http/Controllers/Single/SingleOrderController.php b/app/Http/Controllers/Single/SingleOrderController.php index 78101e8..4f8414c 100644 --- a/app/Http/Controllers/Single/SingleOrderController.php +++ b/app/Http/Controllers/Single/SingleOrderController.php @@ -222,6 +222,14 @@ class SingleOrderController extends Controller $response['bonus_gift'] = $this->bonusGift($customer, $referrer); } } + if ($customer && isset($data['order'])) { + try { + app(ReferralGiftService::class)->tryGiveOnFirstOrder($customer); + } catch (\Throwable $e) { + report($e); + } + } + if (isset($data['order'])) { try { $response['Notifications'] = $this->sendTransactionNotifications($data, $transactionType); diff --git a/database/sql/deploy_settings_const.sql b/database/sql/deploy_settings_const.sql index 40a37bb..62f81d9 100644 --- a/database/sql/deploy_settings_const.sql +++ b/database/sql/deploy_settings_const.sql @@ -39,6 +39,9 @@ SET @invite_link_default_text = CONCAT( ); SET @invite_link_desc = 'متن پیام اشتراک‌گذاری دعوت در اپ کاربر (دکمه «اشتراک با دوستان» در صفحه اصلی، بخش معرف در پروفایل، صفحه کسب درآمد و مودال اشتراک). متغیرهای جایگزین: ٪نام یا %نام = نام کامل کاربر دعوت‌کننده؛ ٪لینک یا %لینک = آدرس کامل صفحه ثبت‌نام همراه با کد معرف (بر اساس تنظیم app_url یا دامنه فعلی مرورگر). فاصله اختیاری بعد از ٪ یا % مجاز است (مثلاً ٪ نام). اگر این فیلد خالی باشد، اپ از متن پیش‌فرض داخلی استفاده می‌کند.'; +SET @deposit_guide_desc = 'متن راهنمای واریز در مودال شارژ حساب. متغیرها: ٪نام یا %نام = نام صاحب حساب؛ ٪کارت یا %کارت = شماره کارت؛ ٪شبا یا %شبا = شبا. فاصله بعد از ٪ اختیاری است. اگر خالی باشد از متن پیش‌فرض اپ استفاده می‌شود.'; +SET @deposit_support_msg_desc = 'متن پیام هنگام کلیک روی «پیام به پشتیبانی» و «پیام به پشتیبانی (sms)» در مودال واریز. همان متغیرهای ٪نام، ٪کارت و ٪شبا. پیش‌فرض: «شماره حساب».'; + -- ستون‌های اختیاری settings (بعضی DBهای قدیمی ندارند) SET @sql = IF( (SELECT COUNT(*) FROM information_schema.COLUMNS @@ -432,6 +435,25 @@ SELECT 'deposit_sms_support_number', '', 'شماره تماس پشتیبانی', 'شماره تماس پشتیبانی که در صفحه واریز، درباره ما و قوانین به مشتری نشان داده می‌شود. با کلیک، تماس تلفنی برقرار می‌شود.', '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 @@ -684,6 +706,7 @@ WHERE `key` = 'main_product'; -- longtext UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ( 'text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', + 'deposit_support_message_text', 'montzar_order_response', 'montzar_last_product_log' ); @@ -900,11 +923,40 @@ UPDATE `settings` SET WHERE `key` = 'support_messenger_id'; UPDATE `settings` SET - `title_fa` = 'متن پشتیبانی پیام‌رسان', + `title_fa` = 'متن راهنمای واریز', `type` = 'longtext', - `description` = 'متن دکمه یا توضیح پشتیبانی در اپ کاربر' + `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', @@ -1017,11 +1069,11 @@ UPDATE `settings` SET `description` = 'متن کامل قوانین و مقرر 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` = '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` = 'روشن: پاداش معرف و معرف‌شونده پس از تکمیل اولین سفارش معرف‌شونده به کیف واریز می‌شود. خاموش: پاداش بلافاصله پس از ثبت‌نام موفق یا تأیید احراز هویت واریز می‌شود.' WHERE `key` = 'referral_gift_on_first_order'; +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'; @@ -1073,9 +1125,10 @@ UPDATE `settings` SET `description` = 'روشن: واریز و برداشت مش 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` = 'متن دکمه یا توضیح کوتاه کنار لینک پشتیبانی در اپ کاربر.' WHERE `key` = 'support_messenger_text'; +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` = 'متن پیام اشتراک‌گذاری دعوت در اپ کاربر (دکمه «اشتراک با دوستان» در صفحه اصلی، بخش معرف در پروفایل، صفحه کسب درآمد و مودال اشتراک). متغیرهای جایگزین: ٪نام یا %نام = نام کامل کاربر دعوت‌کننده؛ ٪لینک یا %لینک = آدرس کامل صفحه ثبت‌نام همراه با کد معرف (بر اساس تنظیم app_url یا دامنه فعلی مرورگر). فاصله اختیاری بعد از ٪ یا % مجاز است (مثلاً ٪ نام). اگر این فیلد خالی باشد، اپ از متن پیش‌فرض داخلی استفاده می‌کند.' WHERE `key` = 'invite_link_text'; -UPDATE `settings` SET `description` = 'شماره موبایل پشتیبانی واریز؛ در صفحه شارژ حساب دکمه پیامک با متن «شماره حساب» نمایش داده می‌شود.' WHERE `key` = 'deposit_sms_support_number'; +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'; @@ -1102,9 +1155,21 @@ UPDATE `settings` SET `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'; + UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ( 'text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', + 'deposit_support_message_text', 'montzar_order_response', 'montzar_last_product_log' ); @@ -1213,7 +1278,11 @@ 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` = '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'; @@ -1272,7 +1341,9 @@ 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', - 'deposit_sms_support_number', 'endDay', + 'deposit_sms_support_number', 'deposit_support_message_text', + 'deposit_account_holder', 'deposit_card_number', 'deposit_sheba', + 'endDay', 'fee_deduct_from_gold', 'fee_free', 'fee_service_charge_percentage', 'fee_single', 'gift_for_referral', 'gift_for_referrer', 'invite_link_text', @@ -1286,6 +1357,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( 'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer', 'sell_fee', 'show_last_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_footer_id', 'price_channel_footer_phone', diff --git a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql index bc730b9..6e31a8e 100644 --- a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql +++ b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql @@ -38,6 +38,9 @@ SET @invite_link_default_text = CONCAT( ); SET @invite_link_desc = 'متن پیام اشتراک‌گذاری دعوت در اپ کاربر (دکمه «اشتراک با دوستان» در صفحه اصلی، بخش معرف در پروفایل، صفحه کسب درآمد و مودال اشتراک). متغیرهای جایگزین: ٪نام یا %نام = نام کامل کاربر دعوت‌کننده؛ ٪لینک یا %لینک = آدرس کامل صفحه ثبت‌نام همراه با کد معرف (بر اساس تنظیم app_url یا دامنه فعلی مرورگر). فاصله اختیاری بعد از ٪ یا % مجاز است (مثلاً ٪ نام). اگر این فیلد خالی باشد، اپ از متن پیش‌فرض داخلی استفاده می‌کند.'; +SET @deposit_guide_desc = 'متن راهنمای واریز در مودال شارژ حساب. متغیرها: ٪نام یا %نام = نام صاحب حساب؛ ٪کارت یا %کارت = شماره کارت؛ ٪شبا یا %شبا = شبا. فاصله بعد از ٪ اختیاری است. اگر خالی باشد از متن پیش‌فرض اپ استفاده می‌شود.'; +SET @deposit_support_msg_desc = 'متن پیام هنگام کلیک روی «پیام به پشتیبانی» و «پیام به پشتیبانی (sms)» در مودال واریز. همان متغیرهای ٪نام، ٪کارت و ٪شبا. پیش‌فرض: «شماره حساب».'; + -- ستون‌های اختیاری settings (بعضی DBهای قدیمی ندارند) SET @sql = IF( (SELECT COUNT(*) FROM information_schema.COLUMNS @@ -360,6 +363,25 @@ SELECT 'deposit_sms_support_number', '', 'شماره تماس پشتیبانی', 'شماره تماس پشتیبانی که در صفحه واریز، درباره ما و قوانین به مشتری نشان داده می‌شود. با کلیک، تماس تلفنی برقرار می‌شود.', '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 @@ -614,7 +636,7 @@ WHERE `key` = 'main_product'; -- ============================================================================= -- longtext -UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'montzar_order_response'); +UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'deposit_support_message_text', 'montzar_order_response'); -- select (+ گزینه‌ها در description) UPDATE `settings` SET `type` = 'select', `description` = 'منبع فعال قیمت|montzar,zaarbox,main_product' WHERE `key` = 'price_provider'; @@ -823,11 +845,40 @@ UPDATE `settings` SET WHERE `key` = 'support_messenger_id'; UPDATE `settings` SET - `title_fa` = 'متن پشتیبانی پیام‌رسان', + `title_fa` = 'متن راهنمای واریز', `type` = 'longtext', - `description` = 'متن دکمه یا توضیح پشتیبانی در اپ کاربر' + `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', @@ -975,11 +1026,11 @@ UPDATE `settings` SET `description` = 'متن کامل قوانین و مقرر 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` = '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` = 'روشن: پاداش معرف و معرف‌شونده پس از تکمیل اولین سفارش معرف‌شونده به کیف واریز می‌شود. خاموش: پاداش بلافاصله پس از ثبت‌نام موفق یا تأیید احراز هویت واریز می‌شود.' WHERE `key` = 'referral_gift_on_first_order'; +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'; @@ -1028,9 +1079,10 @@ UPDATE `settings` SET `description` = 'روشن: واریز و برداشت مش 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` = 'متن دکمه یا توضیح کوتاه کنار لینک پشتیبانی در اپ کاربر.' WHERE `key` = 'support_messenger_text'; +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` = 'متن پیام اشتراک‌گذاری دعوت در اپ کاربر (دکمه «اشتراک با دوستان» در صفحه اصلی، بخش معرف در پروفایل، صفحه کسب درآمد و مودال اشتراک). متغیرهای جایگزین: ٪نام یا %نام = نام کامل کاربر دعوت‌کننده؛ ٪لینک یا %لینک = آدرس کامل صفحه ثبت‌نام همراه با کد معرف (بر اساس تنظیم app_url یا دامنه فعلی مرورگر). فاصله اختیاری بعد از ٪ یا % مجاز است (مثلاً ٪ نام). اگر این فیلد خالی باشد، اپ از متن پیش‌فرض داخلی استفاده می‌کند.' WHERE `key` = 'invite_link_text'; -UPDATE `settings` SET `description` = 'شماره موبایل پشتیبانی واریز؛ در صفحه شارژ حساب دکمه پیامک با متن «شماره حساب» نمایش داده می‌شود.' WHERE `key` = 'deposit_sms_support_number'; +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'; @@ -1059,14 +1111,19 @@ UPDATE `settings` SET `description` = @invite_link_desc WHERE `key` = 'invite_link_text'; -/* DISABLED: value رکورد موجود نباید در deploy تغییر کند؛ default فقط هنگام INSERT کلید جدید اعمال می‌شود. -UPDATE `settings` SET `value` = @invite_link_default_text -WHERE `key` = 'invite_link_text' - AND (`value` IS NULL OR TRIM(`value`) = ''); -*/ +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'; UPDATE `settings` SET `type` = 'longtext' -WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'montzar_order_response'); +WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'deposit_support_message_text', 'montzar_order_response'); -- --------------------------------------------------------------------------- @@ -1109,7 +1166,9 @@ 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', - 'deposit_sms_support_number', 'endDay', + 'deposit_sms_support_number', 'deposit_support_message_text', + 'deposit_account_holder', 'deposit_card_number', 'deposit_sheba', + 'endDay', 'fee_deduct_from_gold', 'fee_free', 'fee_service_charge_percentage', 'fee_single', 'gift_for_referral', 'gift_for_referrer', 'invite_link_text', @@ -1123,6 +1182,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( 'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer', 'sell_fee', 'show_last_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' ); diff --git a/database/sql/deposit_guide_settings.sql b/database/sql/deposit_guide_settings.sql new file mode 100644 index 0000000..11d023a --- /dev/null +++ b/database/sql/deposit_guide_settings.sql @@ -0,0 +1,80 @@ +-- تنظیمات متن راهنمای واریز و پیام پشتیبانی (placeholder مثل invite_link_text) +-- اجرا روی DB موجود + +START TRANSACTION; + +SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci; + +SET @deposit_guide_desc = 'متن راهنمای واریز در مودال شارژ حساب. متغیرها: ٪نام یا %نام = نام صاحب حساب؛ ٪کارت یا %کارت = شماره کارت؛ ٪شبا یا %شبا = شبا. فاصله بعد از ٪ اختیاری است. اگر خالی باشد از متن پیش‌فرض اپ استفاده می‌شود.'; +SET @deposit_support_msg_desc = 'متن پیام هنگام کلیک روی «پیام به پشتیبانی» و «پیام به پشتیبانی (sms)» در مودال واریز. همان متغیرهای ٪نام، ٪کارت و ٪شبا. پیش‌فرض: «شماره حساب».'; + +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); + +UPDATE `settings` SET + `title_fa` = 'نام صاحب حساب واریز', + `type` = 'text', + `can_edit` = 1, + `is_active` = 1, + `description` = 'نام صاحب حساب واریز — در متن راهنما و پیام پشتیبانی با ٪نام یا %نام جایگزین می‌شود.' +WHERE `key` = 'deposit_account_holder'; + +UPDATE `settings` SET + `title_fa` = 'شماره کارت واریز', + `type` = 'text', + `can_edit` = 1, + `is_active` = 1, + `description` = 'شماره کارت واریز — در متن‌ها با ٪کارت یا %کارت جایگزین می‌شود.' +WHERE `key` = 'deposit_card_number'; + +UPDATE `settings` SET + `title_fa` = 'شبا واریز', + `type` = 'text', + `can_edit` = 1, + `is_active` = 1, + `description` = 'شماره شبا واریز — در متن‌ها با ٪شبا یا %شبا جایگزین می‌شود.' +WHERE `key` = 'deposit_sheba'; + +UPDATE `settings` SET + `title_fa` = 'متن پیام به پشتیبانی (واریز)', + `type` = 'longtext', + `can_edit` = 1, + `is_active` = 1, + `description` = @deposit_support_msg_desc +WHERE `key` = 'deposit_support_message_text'; + +UPDATE `settings` SET + `title_fa` = 'متن راهنمای واریز', + `type` = 'longtext', + `can_edit` = 1, + `description` = @deposit_guide_desc +WHERE `key` = 'support_messenger_text'; + +COMMIT; + +SELECT `key`, `title_fa`, `type`, `can_edit`, LEFT(`value`, 60) AS value_preview +FROM `settings` +WHERE `key` IN ( + 'support_messenger_text', + 'deposit_support_message_text', + 'deposit_account_holder', + 'deposit_card_number', + 'deposit_sheba' +) +ORDER BY `key`;