diff --git a/database/migrations/2026_07_02_000001_sync_fee_deduct_from_gold_setting_metadata.php b/database/migrations/2026_07_02_000001_sync_fee_deduct_from_gold_setting_metadata.php index ff941eb..b5a9aa2 100644 --- a/database/migrations/2026_07_02_000001_sync_fee_deduct_from_gold_setting_metadata.php +++ b/database/migrations/2026_07_02_000001_sync_fee_deduct_from_gold_setting_metadata.php @@ -21,7 +21,7 @@ return new class extends Migration $payload = [ 'title_fa' => self::TITLE_FA, 'description' => self::DESCRIPTION, - 'can_edit' => 1, + 'can_edit' => 0, 'updated_at' => now(), ]; diff --git a/database/migrations/2026_07_12_000001_lock_fee_deduct_from_gold_can_edit.php b/database/migrations/2026_07_12_000001_lock_fee_deduct_from_gold_can_edit.php new file mode 100644 index 0000000..85d03e6 --- /dev/null +++ b/database/migrations/2026_07_12_000001_lock_fee_deduct_from_gold_can_edit.php @@ -0,0 +1,24 @@ +where('key', 'fee_deduct_from_gold') + ->update(['can_edit' => 0, 'updated_at' => now()]); + } + + public function down(): void + { + // can_edit را عمداً برنمی‌گردانیم — قفل بودن فیلد سیاست ثابت است. + } +}; diff --git a/database/sql/deploy_settings_const.sql b/database/sql/deploy_settings_const.sql index bdbe85e..33abb23 100644 --- a/database/sql/deploy_settings_const.sql +++ b/database/sql/deploy_settings_const.sql @@ -616,7 +616,7 @@ WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_service_charge_per -- fee_deduct_from_gold: value پیش‌فرض false فقط در INSERT اولیه؛ اجرای مجدد value/is_active را overwrite نمی‌کند INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) -SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 1, 1, +SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 0, 1, 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).', 'switch' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_deduct_from_gold' LIMIT 1); @@ -1125,7 +1125,7 @@ UPDATE `settings` SET `description` = 'درصد کارمزد هر سفارش ا UPDATE `settings` SET `title_fa` = 'اعمال مبلغ دقیق در معامله مشتری', `type` = 'switch', - `can_edit` = 1, + `can_edit` = 0, `description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).' WHERE `key` = 'fee_deduct_from_gold'; UPDATE `settings` SET `description` = 'تعداد اولین سفارش‌های هر کاربر که از کارمزد معاف می‌شوند. ۰ = غیرفعال.' WHERE `key` = 'fee_free'; @@ -1401,6 +1401,7 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN ( 'bale_bot_token', 'banner_enabled', 'chart_id', 'chart_use_local_data', 'external_order_api_enabled', + 'fee_deduct_from_gold', 'group_sms', 'has_page_earn_money', 'is_store', @@ -1436,7 +1437,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( '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', + 'fee_free', 'fee_service_charge_percentage', 'fee_single', 'gift_for_referral', 'gift_for_referrer', 'invite_link_text', 'jibit_verification', @@ -1477,7 +1478,7 @@ UPDATE `settings` SET `type` = 'number' WHERE `key` IN ( UPDATE `settings` SET `title_fa` = 'اعمال مبلغ دقیق در معامله مشتری', `type` = 'switch', - `can_edit` = 1, + `can_edit` = 0, `description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).' WHERE `key` = 'fee_deduct_from_gold'; 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 7926d68..e7fd7f2 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 @@ -503,7 +503,7 @@ WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_service_charge_per -- fee_deduct_from_gold: value پیش‌فرض false فقط در INSERT اولیه؛ اجرای مجدد value/is_active را overwrite نمی‌کند INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) -SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 1, 1, +SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 0, 1, 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).', 'switch' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_deduct_from_gold' LIMIT 1); @@ -1039,7 +1039,6 @@ UPDATE `settings` SET `description` = 'درصد کارمزد هر سفارش ا UPDATE `settings` SET `title_fa` = 'اعمال مبلغ دقیق در معامله مشتری', `type` = 'switch', - `can_edit` = 1, `description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).' WHERE `key` = 'fee_deduct_from_gold'; UPDATE `settings` SET `description` = 'تعداد اولین سفارش‌های هر کاربر که از کارمزد معاف می‌شوند. ۰ = غیرفعال.' WHERE `key` = 'fee_free'; @@ -1200,7 +1199,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN ( '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', + 'fee_free', 'fee_service_charge_percentage', 'fee_single', 'gift_for_referral', 'gift_for_referrer', 'invite_link_text', 'jibit_verification', diff --git a/database/sql/fee_deduct_from_gold_patch.sql b/database/sql/fee_deduct_from_gold_patch.sql index bd0914b..e2d22f7 100644 --- a/database/sql/fee_deduct_from_gold_patch.sql +++ b/database/sql/fee_deduct_from_gold_patch.sql @@ -6,7 +6,7 @@ START TRANSACTION; INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) -SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 1, 1, +SELECT 'fee_deduct_from_gold', 'false', 'اعمال مبلغ دقیق در معامله مشتری', 0, 1, 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).', 'switch' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'fee_deduct_from_gold' LIMIT 1); @@ -15,7 +15,7 @@ UPDATE `settings` SET `title_fa` = 'اعمال مبلغ دقیق در معامله مشتری', `description` = 'روشن: مشتری دقیقاً همان مبلغ یا وزنی را که وارد کرده دریافت می‌کند. در فروش، مثلاً ۱۰۰ میلیون ریال درخواست → همان ۱۰۰ میلیون واریز و کارمزد از طلای کیف کسر می‌شود. در خرید، مثلاً ۱۰ گرم درخواست → همان ۱۰ گرم واریز و کارمزد به ریال قابل پرداخت اضافه می‌شود. خاموش (پیش‌فرض): در فروش کارمزد از مبلغ ریالی واریزی کم می‌شود (مشتری مبلغ کمتری می‌گیرد). در خرید کارمزد از وزن طلای واریزی کم می‌شود (مشتری طلای کمتری می‌گیرد).', `type` = 'switch', - `can_edit` = 1 + `can_edit` = 0 WHERE `key` = 'fee_deduct_from_gold'; COMMIT;