InsertTeamAdminMenu.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Module\System\Models\AdminMenu;
  4. use Illuminate\Console\Command;
  5. class InsertTeamAdminMenu extends Command
  6. {
  7. /**
  8. * The name and signature of the console command.
  9. *
  10. * @var string
  11. */
  12. protected $signature = 'admin:insert-team-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. $teamConfigMenu = AdminMenu::firstOrCreate(
  31. ['title' => '👥 团队配置', 'uri' => ''],
  32. [
  33. 'parent_id' => 259, // 游戏系统设置
  34. 'order' => $nextOrder++,
  35. 'icon' => 'fa-users',
  36. 'uri' => '',
  37. 'show' => 1
  38. ]
  39. );
  40. $this->info("创建团队配置菜单: {$teamConfigMenu->title}, ID: {$teamConfigMenu->id}");
  41. // 2. 创建团队管理菜单(在游戏运营管理下)
  42. $teamManageMenu = AdminMenu::firstOrCreate(
  43. ['title' => '👥 团队管理', 'uri' => ''],
  44. [
  45. 'parent_id' => 260, // 游戏运营管理
  46. 'order' => $nextOrder++,
  47. 'icon' => 'fa-user-friends',
  48. 'uri' => '',
  49. 'show' => 1
  50. ]
  51. );
  52. $this->info("创建团队管理菜单: {$teamManageMenu->title}, ID: {$teamManageMenu->id}");
  53. // 3. 添加团队配置子菜单
  54. $teamConfigSubMenus = [
  55. [
  56. 'title' => '🌟 达人等级配置',
  57. 'icon' => '',
  58. 'uri' => 'team-talent-configs',
  59. ],
  60. [
  61. 'title' => '💰 收益规则配置',
  62. 'icon' => '',
  63. 'uri' => 'team-profit-rules',
  64. ],
  65. ];
  66. foreach ($teamConfigSubMenus as $subMenu) {
  67. $menu = AdminMenu::firstOrCreate(
  68. ['title' => $subMenu['title'], 'uri' => $subMenu['uri']],
  69. [
  70. 'parent_id' => $teamConfigMenu->id,
  71. 'order' => $nextOrder++,
  72. 'icon' => $subMenu['icon'],
  73. 'uri' => $subMenu['uri'],
  74. 'show' => 1
  75. ]
  76. );
  77. $this->info("创建团队配置子菜单: {$menu->title}, URI: {$menu->uri}");
  78. }
  79. // 4. 添加团队管理子菜单
  80. $teamManageSubMenus = [
  81. [
  82. 'title' => '🌟 达人等级管理',
  83. 'icon' => '',
  84. 'uri' => 'team-user-talents',
  85. ],
  86. [
  87. 'title' => '👥 用户推荐关系',
  88. 'icon' => '',
  89. 'uri' => 'team-user-referrals',
  90. ],
  91. [
  92. 'title' => '🔄 推荐关系变更记录',
  93. 'icon' => '',
  94. 'uri' => 'team-referral-changes',
  95. ],
  96. [
  97. 'title' => '🔗 推荐码管理',
  98. 'icon' => '',
  99. 'uri' => 'team-referral-codes',
  100. ],
  101. [
  102. 'title' => '📊 推荐码使用记录',
  103. 'icon' => '',
  104. 'uri' => 'team-referral-code-usages',
  105. ],
  106. [
  107. 'title' => '💰 团队收益记录',
  108. 'icon' => '',
  109. 'uri' => 'team-profits',
  110. ],
  111. [
  112. 'title' => '🎁 邀请奖励记录',
  113. 'icon' => '',
  114. 'uri' => 'team-invite-rewards',
  115. ],
  116. [
  117. 'title' => '🔄 用户关系缓存',
  118. 'icon' => '',
  119. 'uri' => 'team-user-relation-caches',
  120. ],
  121. ];
  122. foreach ($teamManageSubMenus as $subMenu) {
  123. $menu = AdminMenu::firstOrCreate(
  124. ['title' => $subMenu['title'], 'uri' => $subMenu['uri']],
  125. [
  126. 'parent_id' => $teamManageMenu->id,
  127. 'order' => $nextOrder++,
  128. 'icon' => $subMenu['icon'],
  129. 'uri' => $subMenu['uri'],
  130. 'show' => 1
  131. ]
  132. );
  133. $this->info("创建团队管理子菜单: {$menu->title}, URI: {$menu->uri}");
  134. }
  135. // 5. 检查并移除Farm模块中的达人相关菜单
  136. $this->info('检查并移除Farm模块中的达人相关菜单...');
  137. $farmTalentMenu = AdminMenu::where('uri', 'farm-user-talents')->first();
  138. if ($farmTalentMenu) {
  139. $farmTalentMenu->delete();
  140. $this->info('已移除Farm模块中的达人等级管理菜单');
  141. }
  142. $this->info('团队模块菜单添加完成!');
  143. return 0;
  144. }
  145. }