<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h1>🔍 Diagnóstico da Query - Banco de Testes</h1>";

require_once 'conexao_teste.php';

$email = 'thiagovieira.exact@bol.com.br'; // Email do usuário de teste

echo "<h2>1. Verificando usuário:</h2>";
$stmt = $conn_teste->prepare("SELECT id, nome, email, tenant_id, ativo FROM usuarios WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
    $usuario = $result->fetch_assoc();
    echo "<pre style='background:#f0f0f0; padding:10px;'>";
    print_r($usuario);
    echo "</pre>";
    
    echo "<h2>2. Verificando tenant (ID: " . $usuario['tenant_id'] . "):</h2>";
    $stmt2 = $conn_teste->prepare("SELECT * FROM tenants WHERE id = ?");
    $stmt2->bind_param("i", $usuario['tenant_id']);
    $stmt2->execute();
    $result2 = $stmt2->get_result();
    
    if ($result2->num_rows > 0) {
        $tenant = $result2->fetch_assoc();
        echo "<pre style='background:#e8f5e8; padding:10px;'>";
        print_r($tenant);
        echo "</pre>";
        echo "<p style='color:green'>✅ Tenant encontrado!</p>";
    } else {
        echo "<p style='color:red'>❌ Tenant NÃO encontrado!</p>";
    }
    
    echo "<h2>3. Testando a query completa com JOIN:</h2>";
    $query = "
        SELECT 
            u.id, u.nome, u.email, u.senha, u.permissao, u.ativo, u.tenant_id, u.foto_perfil,
            t.ativo as tenant_ativo, t.nome as tenant_nome, t.data_fim as tenant_data_fim,
            p.codigo as plano_codigo
        FROM usuarios u 
        LEFT JOIN tenants t ON u.tenant_id = t.id 
        LEFT JOIN planos p ON t.plano_id = p.id
        WHERE u.email = ?
    ";
    
    echo "<pre style='background:#f0f0f0; padding:10px;'>$query</pre>";
    
    $stmt3 = $conn_teste->prepare($query);
    $stmt3->bind_param("s", $email);
    $stmt3->execute();
    $result3 = $stmt3->get_result();
    
    if ($result3->num_rows > 0) {
        $dados = $result3->fetch_assoc();
        echo "<pre style='background:#e8f5e8; padding:10px;'>";
        print_r($dados);
        echo "</pre>";
        echo "<p style='color:green'>✅ Query executada com sucesso!</p>";
    } else {
        echo "<p style='color:red'>❌ Query não retornou resultados!</p>";
    }
    
    echo "<h2>4. Verificando plano 99:</h2>";
    $stmt4 = $conn_teste->prepare("SELECT * FROM planos WHERE id = 99");
    $stmt4->execute();
    $result4 = $stmt4->get_result();
    
    if ($result4->num_rows > 0) {
        $plano = $result4->fetch_assoc();
        echo "<pre style='background:#e8f5e8; padding:10px;'>";
        print_r($plano);
        echo "</pre>";
    } else {
        echo "<p style='color:red'>❌ Plano 99 não encontrado!</p>";
        
        // Criar plano se não existir
        echo "<h3>Criando plano 99...</h3>";
        $create = $conn_teste->prepare("INSERT INTO planos (id, nome, codigo, max_usuarios, preco_mensal, ativo) VALUES (99, 'Teste Gratuito', 'teste', 1, 0.00, 1)");
        if ($create->execute()) {
            echo "<p style='color:green'>✅ Plano 99 criado!</p>";
        } else {
            echo "<p style='color:red'>❌ Erro ao criar plano: " . $create->error . "</p>";
        }
    }
    
} else {
    echo "<p style='color:red'>❌ Usuário não encontrado!</p>";
}

$conn_teste->close();
?>