<?php
require_once 'config/database.php';

echo "<h2>🔍 Diagnóstico dos Problemas do App Android</h2>";

try {
    $pdo = Database::getConnection();
    
    echo "<h3>1. Verificando tabela notificacoes_push</h3>";
    $stmt = $pdo->query("SHOW TABLES LIKE 'notificacoes_push'");
    $result = $stmt->fetch();
    
    if ($result) {
        echo "✅ Tabela notificacoes_push existe<br>";
        
        // Verificar estrutura
        $stmt = $pdo->query("DESCRIBE notificacoes_push");
        $colunas = $stmt->fetchAll();
        echo "📋 Colunas da tabela:<br>";
        foreach ($colunas as $coluna) {
            echo "- {$coluna['Field']} ({$coluna['Type']})<br>";
        }
    } else {
        echo "❌ Tabela notificacoes_push não existe<br>";
        echo "🔧 Criando tabela...<br>";
        
        $sql = "CREATE TABLE IF NOT EXISTS notificacoes_push (
            id INT AUTO_INCREMENT PRIMARY KEY,
            user_id INT NOT NULL,
            titulo VARCHAR(255) NOT NULL,
            mensagem TEXT NOT NULL,
            tipo VARCHAR(50) NOT NULL,
            solicitacao_id INT NULL,
            viagem_id INT NULL,
            lida BOOLEAN DEFAULT FALSE,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
            INDEX idx_user_id (user_id),
            INDEX idx_lida (lida),
            INDEX idx_tipo (tipo)
        )";
        
        $pdo->exec($sql);
        echo "✅ Tabela notificacoes_push criada com sucesso<br>";
    }
    
    echo "<h3>2. Verificando rotas disponíveis</h3>";
    $stmt = $pdo->query("SELECT id, titulo, status, motorista_id FROM solicitacoes_rotas ORDER BY id DESC LIMIT 5");
    $rotas = $stmt->fetchAll();
    
    if ($rotas) {
        echo "📋 Últimas 5 rotas:<br>";
        foreach ($rotas as $rota) {
            echo "- ID: {$rota['id']} | Título: {$rota['titulo']} | Status: {$rota['status']} | Motorista: {$rota['motorista_id']}<br>";
        }
    } else {
        echo "❌ Nenhuma rota encontrada<br>";
    }
    
    echo "<h3>3. Testando API detalhes-rota-execucao</h3>";
    if ($rotas) {
        $rotaId = $rotas[0]['id'];
        echo "🧪 Testando com rota ID: $rotaId<br>";
        
        $url = "https://sistemas.pinheiroempresas.com.br/controlefrotaV1.1/backend-php/api-simples-v2.php?acao=detalhes-rota-execucao&id=$rotaId";
        echo "📡 URL: $url<br>";
        
        $context = stream_context_create([
            'http' => [
                'timeout' => 10,
                'ignore_errors' => true
            ]
        ]);
        
        $response = file_get_contents($url, false, $context);
        
        if ($response !== false) {
            $data = json_decode($response, true);
            if ($data && isset($data['sucesso'])) {
                if ($data['sucesso']) {
                    echo "✅ API funcionando! Rota: {$data['dados']['titulo']}<br>";
                } else {
                    echo "❌ API retornou erro: {$data['mensagem']}<br>";
                }
            } else {
                echo "❌ Resposta inválida da API<br>";
                echo "📝 Response: " . htmlspecialchars($response) . "<br>";
            }
        } else {
            echo "❌ Erro ao acessar API<br>";
        }
    }
    
    echo "<h3>4. Verificando motoristas</h3>";
    $stmt = $pdo->query("SELECT id, nome, email FROM motoristas ORDER BY id DESC LIMIT 5");
    $motoristas = $stmt->fetchAll();
    
    if ($motoristas) {
        echo "👥 Últimos 5 motoristas:<br>";
        foreach ($motoristas as $motorista) {
            echo "- ID: {$motorista['id']} | Nome: {$motorista['nome']} | Email: {$motorista['email']}<br>";
        }
    } else {
        echo "❌ Nenhum motorista encontrado<br>";
    }
    
    echo "<h3>5. Testando API de notificações</h3>";
    if ($motoristas) {
        $userId = $motoristas[0]['id'];
        echo "🧪 Testando com usuário ID: $userId<br>";
        
        $url = "https://sistemas.pinheiroempresas.com.br/controlefrotaV1.1/backend-php/api/gestao/notificacoes.php?acao=nao_lidas&user_id=$userId";
        echo "📡 URL: $url<br>";
        
        $context = stream_context_create([
            'http' => [
                'timeout' => 10,
                'ignore_errors' => true
            ]
        ]);
        
        $response = file_get_contents($url, false, $context);
        
        if ($response !== false) {
            $data = json_decode($response, true);
            if ($data && isset($data['sucesso'])) {
                if ($data['sucesso']) {
                    echo "✅ API de notificações funcionando! Total não lidas: {$data['dados']['total_nao_lidas']}<br>";
                } else {
                    echo "❌ API de notificações retornou erro: {$data['mensagem']}<br>";
                }
            } else {
                echo "❌ Resposta inválida da API de notificações<br>";
                echo "📝 Response: " . htmlspecialchars($response) . "<br>";
            }
        } else {
            echo "❌ Erro ao acessar API de notificações<br>";
        }
    }
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "<br>";
}
?>
