InsertFarmAdminMenu.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Module\System\Models\AdminMenu;
  4. use Illuminate\Console\Command;
  5. class InsertFarmAdminMenu extends Command
  6. {
  7. /**
  8. * The name and signature of the console command.
  9. *
  10. * @var string
  11. */
  12. protected $signature = 'admin:insert-farm-menu';
  13. /**
  14. * The console command description.
  15. *
  16. * @var string
  17. */
  18. protected $description = '将农场模块的后台控制器插入到 AdminMenu 表中';
  19. /**
  20. * Execute the console command.
  21. *
  22. * @return int
  23. */
  24. public function handle()
  25. {
  26. // 获取最大的order值
  27. $maxOrder = AdminMenu::max('order');
  28. $nextOrder = $maxOrder + 1;
  29. // 1. 创建农场配置菜单(在游戏系统设置下)
  30. $farmConfigMenu = AdminMenu::firstOrCreate(
  31. ['title' => '🌱 农场配置', 'uri' => ''],
  32. [
  33. 'parent_id' => 259, // 游戏系统设置
  34. 'order' => $nextOrder++,
  35. 'icon' => 'fa-leaf',
  36. 'uri' => '',
  37. 'show' => 1
  38. ]
  39. );
  40. $this->info("创建农场配置菜单: {$farmConfigMenu->title}, ID: {$farmConfigMenu->id}");
  41. // 2. 创建农场管理菜单(在游戏运营管理下)
  42. $farmManageMenu = AdminMenu::firstOrCreate(
  43. ['title' => '🚜 农场管理', 'uri' => ''],
  44. [
  45. 'parent_id' => 260, // 游戏运营管理
  46. 'order' => $nextOrder++,
  47. 'icon' => 'fa-tractor',
  48. 'uri' => '',
  49. 'show' => 1
  50. ]
  51. );
  52. $this->info("创建农场管理菜单: {$farmManageMenu->title}, ID: {$farmManageMenu->id}");
  53. // 3. 添加农场配置子菜单
  54. $farmConfigSubMenus = [
  55. [
  56. 'title' => '🌾 种子配置管理',
  57. 'icon' => '',
  58. 'uri' => 'farm-seeds',
  59. ],
  60. [
  61. 'title' => '🌱 种子产出配置',
  62. 'icon' => '',
  63. 'uri' => 'farm-seed-outputs',
  64. ],
  65. [
  66. 'title' => '🏡 房屋等级配置',
  67. 'icon' => '',
  68. 'uri' => 'farm-house-configs',
  69. ],
  70. [
  71. 'title' => '🌍 土地类型配置',
  72. 'icon' => '',
  73. 'uri' => 'farm-land-types',
  74. ],
  75. [
  76. 'title' => '📈 土地升级配置',
  77. 'icon' => '',
  78. 'uri' => 'farm-land-upgrade-configs',
  79. ],
  80. ];
  81. foreach ($farmConfigSubMenus as $subMenu) {
  82. $menu = AdminMenu::firstOrCreate(
  83. ['title' => $subMenu['title'], 'uri' => $subMenu['uri']],
  84. [
  85. 'parent_id' => $farmConfigMenu->id,
  86. 'order' => $nextOrder++,
  87. 'icon' => $subMenu['icon'],
  88. 'uri' => $subMenu['uri'],
  89. 'show' => 1
  90. ]
  91. );
  92. $this->info("创建农场配置子菜单: {$menu->title}, URI: {$menu->uri}");
  93. }
  94. // 4. 添加农场管理子菜单
  95. $farmManageSubMenus = [
  96. [
  97. 'title' => '👨‍🌾 用户农场管理',
  98. 'icon' => '',
  99. 'uri' => 'farm-users',
  100. ],
  101. [
  102. 'title' => '🌱 作物管理',
  103. 'icon' => '',
  104. 'uri' => 'farm-crops',
  105. ],
  106. [
  107. 'title' => '🌍 土地管理',
  108. 'icon' => '',
  109. 'uri' => 'farm-lands',
  110. ],
  111. [
  112. 'title' => '✨ 神灵加持管理',
  113. 'icon' => '',
  114. 'uri' => 'farm-buffs',
  115. ],
  116. [
  117. 'title' => '🏆 达人等级管理',
  118. 'icon' => '',
  119. 'uri' => 'farm-user-talents',
  120. ],
  121. [
  122. 'title' => '👥 用户推荐关系',
  123. 'icon' => '',
  124. 'uri' => 'farm-user-referrals',
  125. ],
  126. [
  127. 'title' => '📝 收获记录管理',
  128. 'icon' => '',
  129. 'uri' => 'farm-harvest-logs',
  130. ],
  131. [
  132. 'title' => '📊 升级记录管理',
  133. 'icon' => '',
  134. 'uri' => 'farm-upgrade-logs',
  135. ],
  136. ];
  137. foreach ($farmManageSubMenus as $subMenu) {
  138. $menu = AdminMenu::firstOrCreate(
  139. ['title' => $subMenu['title'], 'uri' => $subMenu['uri']],
  140. [
  141. 'parent_id' => $farmManageMenu->id,
  142. 'order' => $nextOrder++,
  143. 'icon' => $subMenu['icon'],
  144. 'uri' => $subMenu['uri'],
  145. 'show' => 1
  146. ]
  147. );
  148. $this->info("创建农场管理子菜单: {$menu->title}, URI: {$menu->uri}");
  149. }
  150. $this->info('农场模块菜单添加完成!');
  151. return 0;
  152. }
  153. }