setName('admin:role:delete') ->addOption('role-id', null, Option::VALUE_REQUIRED, '角色ID') ->setDescription('删除角色'); } protected function execute(Input $input, Output $output) { $roleId = $input->getOption('role-id'); if (empty($roleId)) { $output->error('角色ID不能为空'); return false; } try { $auth = SystemAuth::find($roleId); if (empty($auth)) { $output->error('角色ID ' . $roleId . ' 不存在'); return false; } $checkUsers = SystemAdmin::where('auth_ids', 'like', '%' . $roleId . '%') ->where('delete_time', 0) ->count(); if ($checkUsers > 0) { $output->error('角色ID ' . $roleId . ' 已分配给 ' . $checkUsers . ' 个用户,无法删除'); return false; } SystemAuthNode::where('auth_id', $roleId)->delete(); $auth->delete(); $output->info('角色删除成功'); $output->info('角色ID: ' . $roleId); } catch (\Throwable $e) { $output->error('删除角色失败: ' . $e->getMessage()); return false; } return true; } }