2025_04_26_232606_modified_system.php 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. use App\Models\Config;
  3. use App\Models\Order;
  4. use Illuminate\Database\Migrations\Migration;
  5. return new class extends Migration
  6. {
  7. private static array $dropConfigs = ['bitpay_secret', 'is_push_bear', 'is_subscribe_ban', 'is_traffic_ban', 'is_checkin'];
  8. private static array $renameConfigs = [
  9. 'aff_salt' => 'affiliate_link_salt',
  10. 'max_rand_traffic' => 'checkin_reward_max',
  11. 'min_rand_traffic' => 'checkin_reward',
  12. 'referral_type' => 'referral_reward_type',
  13. 'subscribe_ban_times' => 'subscribe_rate_limit',
  14. 'traffic_ban_time' => 'ban_duration',
  15. 'traffic_ban_value' => 'traffic_abuse_limit',
  16. 'traffic_limit_time' => 'checkin_interval',
  17. 'website_analytics' => 'website_statistics_code',
  18. 'website_callback_url' => 'payment_callback_url',
  19. 'website_customer_service' => 'website_customer_service_code',
  20. ];
  21. public function up(): void
  22. {
  23. if (Config::exists()) {
  24. Config::create([['name' => 'tasks_chunk', 'value' => 3000], ['name' => 'tasks_clean', 'value' => '{"notification_logs":"-18 months","node_daily_logs":"-13 months","node_hourly_logs":"-14 days","node_heartbeats":"-30 minutes","node_online_logs":"-14 days","payments":"-1 years","rule_logs":"-3 months","node_online_ips":"-7 days","user_baned_logs":"-3 months","user_daily_logs_nodes":"-36 days","user_daily_logs_total":"-3 months","user_hourly_logs":"-3 days","login_logs":"-3 months","subscribe_logs":"-2 months","traffic_logs":"-3 days","unpaid_orders":"-1 years"}'], ['name' => 'tasks_close', 'value' => '{"tickets":"-72 hours","confirmation_orders":"-12 hours","orders":"-15 minutes","verify":"-15 minutes"}'], ['name' => 'recently_heartbeat', 'value' => '-10 minutes']]);
  25. if (! sysConfig('is_subscribe_ban')) {
  26. Config::whereName('subscribe_ban_times')->update(['value' => null]);
  27. }
  28. if (! sysConfig('is_traffic_ban')) {
  29. Config::whereName('traffic_ban_time')->update(['value' => null]);
  30. }
  31. if (! sysConfig('is_checkin')) {
  32. Config::whereName('traffic_limit_time')->update(['value' => null]);
  33. }
  34. foreach (self::$renameConfigs as $old => $new) {
  35. Config::whereName($old)->update(['name' => $new]);
  36. }
  37. Config::whereName('auto_release_port')->update(['value' => sysConfig('auto_release_port') ? 30 : null]);
  38. foreach (self::$dropConfigs as $config) {
  39. Config::destroy(['name' => $config]);
  40. }
  41. }
  42. Order::wherePayWay('balance')->update(['pay_way' => 'credit']);
  43. }
  44. public function down(): void
  45. {
  46. Config::destroy([['name' => 'tasks_chunk'], ['name' => 'tasks_clean'], ['name' => 'tasks_close'], ['name' => 'recently_heartbeat']]);
  47. foreach (self::$dropConfigs as $config) {
  48. Config::insert(['name' => $config]);
  49. }
  50. foreach (self::$renameConfigs as $old => $new) {
  51. Config::whereName($new)->update(['name' => $old]);
  52. }
  53. if (sysConfig('subscribe_ban_times')) {
  54. Config::whereName('is_subscribe_ban')->update(['value' => 1]);
  55. }
  56. if (sysConfig('traffic_ban_time')) {
  57. Config::whereName('is_traffic_ban')->update(['value' => 1]);
  58. }
  59. if (sysConfig('traffic_limit_time')) {
  60. Config::whereName('is_checkin')->update(['value' => 1]);
  61. }
  62. Config::whereName('auto_release_port')->update(['value' => sysConfig('auto_release_port') ? 1 : null]);
  63. }
  64. };