#!/bin/bash

# Script de teste rápido para verificar o sistema de afiliados

echo "=========================================="
echo "  Teste do Sistema de Afiliados"
echo "=========================================="
echo ""

# Verificar se estamos no servidor ou local
if [ -d "/var/www/gestorstream" ]; then
    BACKEND_PATH="/var/www/gestorstream/backend"
    echo "📍 Ambiente: Servidor de Produção"
else
    BACKEND_PATH="./backend"
    echo "📍 Ambiente: Desenvolvimento Local"
fi

cd "$BACKEND_PATH"

echo ""
echo "1️⃣ Verificando tabelas de afiliados..."
echo ""

php artisan tinker --execute="
echo 'Total de Afiliados: ' . \App\Models\Affiliate::count();
echo PHP_EOL;
echo 'Total de Referrals: ' . \App\Models\AffiliateReferral::count();
echo PHP_EOL;
echo 'Referrals Ativos: ' . \App\Models\AffiliateReferral::where('is_active', true)->count();
echo PHP_EOL;
echo 'Referrals Inativos: ' . \App\Models\AffiliateReferral::where('is_active', false)->count();
echo PHP_EOL;
echo 'Total de Comissões: ' . \App\Models\AffiliateCommission::count();
echo PHP_EOL;
"

echo ""
echo "2️⃣ Verificando referrals inativos com comissões..."
echo ""

php artisan tinker --execute="
\$problematicos = \App\Models\AffiliateReferral::where('is_active', false)
    ->whereHas('commissions')
    ->count();
    
if (\$problematicos > 0) {
    echo '⚠️  Encontrados ' . \$problematicos . ' referrals inativos com comissões!';
    echo PHP_EOL;
    echo '   Execute: php artisan affiliates:fix-referrals';
    echo PHP_EOL;
} else {
    echo '✅ Nenhum problema encontrado!';
    echo PHP_EOL;
}
"

echo ""
echo "3️⃣ Detalhes dos últimos 5 referrals..."
echo ""

php artisan tinker --execute="
\$referrals = \App\Models\AffiliateReferral::with(['referredUser', 'commissions'])
    ->orderBy('created_at', 'desc')
    ->limit(5)
    ->get();
    
foreach (\$referrals as \$r) {
    echo '---';
    echo PHP_EOL;
    echo 'ID: ' . \$r->id;
    echo PHP_EOL;
    echo 'Usuário: ' . \$r->referredUser->name . ' (' . \$r->referredUser->email . ')';
    echo PHP_EOL;
    echo 'Status: ' . (\$r->is_active ? '✅ ATIVO' : '❌ INATIVO');
    echo PHP_EOL;
    echo 'Convertido: ' . (\$r->converted_at ? \$r->converted_at->format('d/m/Y H:i') : 'Não');
    echo PHP_EOL;
    echo 'Comissões: ' . \$r->commissions->count();
    echo PHP_EOL;
}
"

echo ""
echo "=========================================="
echo "  Teste Concluído"
echo "=========================================="
echo ""
echo "💡 Para corrigir problemas, execute:"
echo "   ./fix_affiliate_referrals.sh"
echo ""
