<?php
/**
 * includes/wallet-messages.php
 * Mensagens WhatsApp para cada evento da plataforma
 *
 * Integra com a função enqueue_whatsapp() de wallet-functions.php
 * O cron processa a fila e envia via drope_send_whatsapp()
 */

/**
 * Retorna a mensagem formatada para cada evento
 */
function get_whatsapp_message($event_type, $amount = 0, $extra = []) {
    global $_settings;

    $site_name = $_settings->info('name') ?? 'Plataforma';
    $amount_fmt = 'R$ ' . number_format((float)$amount, 2, ',', '.');

    switch ($event_type) {

        // ── Depósito ────────────────────────────────────────
        case 'deposit_confirmed':
            return "💰 *{$site_name}*\n\n" .
                   "✅ Seu depósito de *{$amount_fmt}* foi confirmado!\n\n" .
                   "Seu saldo já está disponível para investir, dar lances no leilão ou resgatar.\n\n" .
                   "📲 Acesse agora: " . BASE_URL . "dashboard";

        // ── Saque ───────────────────────────────────────────
        case 'withdrawal_requested':
            return "💵 *{$site_name}*\n\n" .
                   "📤 Sua solicitação de saque de *{$amount_fmt}* foi recebida!\n\n" .
                   "⏳ Será processado em até 24 horas úteis.\n\n" .
                   "Acompanhe em: " . BASE_URL . "sacar";

        case 'withdrawal_approved':
            return "💵 *{$site_name}*\n\n" .
                   "✅ Seu saque de *{$amount_fmt}* foi *APROVADO* e enviado!\n\n" .
                   "💳 O valor chegará em breve na sua chave PIX cadastrada.\n\n" .
                   "Obrigado por confiar em nós! 🙏";

        case 'withdrawal_rejected':
            return "⚠️ *{$site_name}*\n\n" .
                   "❌ Seu saque de *{$amount_fmt}* foi recusado.\n\n" .
                   "O valor foi estornado para sua carteira.\n" .
                   "Entre em contato com o suporte para mais informações.\n\n" .
                   BASE_URL . "sacar";

        // ── Investimentos ────────────────────────────────────
        case 'investment_activated':
            return "📈 *{$site_name}*\n\n" .
                   "🚀 Investimento de *{$amount_fmt}* ativado com sucesso!\n\n" .
                   "✨ Seu rendimento começará a ser creditado *amanhã*.\n" .
                   "Acompanhe em: " . BASE_URL . "meus-investimentos";

        case 'yield_received':
            return "📈 *{$site_name}*\n\n" .
                   "💎 Rendimento do dia creditado: *+{$amount_fmt}*!\n\n" .
                   "💰 Esse valor já está disponível na sua carteira.\n" .
                   "Acompanhe: " . BASE_URL . "dashboard";

        case 'investment_completed':
            return "🎉 *{$site_name}*\n\n" .
                   "🏆 Seu plano de *{$amount_fmt}* atingiu o teto máximo!\n\n" .
                   "Você ganhou tudo que tinha direito! 💰\n\n" .
                   "🔄 Renove ou faça um upgrade agora:\n" .
                   BASE_URL . "investir";

        case 'investment_upgraded':
            return "🚀 *{$site_name}*\n\n" .
                   "✅ Upgrade para *{$amount_fmt}* realizado!\n\n" .
                   "Você agora está em um plano superior com maior rendimento diário!\n\n" .
                   BASE_URL . "meus-investimentos";

        // ── Rede MLM ─────────────────────────────────────────
        case 'binary_bonus_received':
            return "🌐 *{$site_name}*\n\n" .
                   "💸 Bônus Binário recebido: *+{$amount_fmt}*!\n\n" .
                   "Sua rede está crescendo e gerando resultados! 🎯\n\n" .
                   "Ver rede: " . BASE_URL . "minha-rede";

        case 'unilevel_received':
            return "🔗 *{$site_name}*\n\n" .
                   "💰 Comissão de rede recebida: *+{$amount_fmt}*!\n\n" .
                   "Alguém da sua rede gerou rendimento e você ganhou comissão!\n\n" .
                   BASE_URL . "minha-rede";

        // ── Leilão ───────────────────────────────────────────
        case 'auction_won':
            return "🏆 *{$site_name}*\n\n" .
                   "🎉 PARABÉNS! Você VENCEU o leilão!\n\n" .
                   "Produto adquirido por apenas *{$amount_fmt}*! 🤑\n\n" .
                   "Nossa equipe entrará em contato para combinar a entrega.\n" .
                   BASE_URL . "dashboard";

        case 'auction_leading':
            $secs = (int)$amount;
            return "⚡ *{$site_name}*\n\n" .
                   "😱 Alguém deu um lance e tomou sua liderança no leilão!\n\n" .
                   "⏱ O timer reiniciou para *{$secs} segundos*.\n\n" .
                   "🔥 Corra para dar seu próximo lance:\n" . BASE_URL . "leiloes";

        // ── Genérico ─────────────────────────────────────────
        default:
            return "💬 *{$site_name}*\n\n" .
                   "Você tem uma atualização na sua conta.\n\n" .
                   "Acesse: " . BASE_URL . "dashboard";
    }
}

/**
 * Estende a enqueue_whatsapp() original para incluir mensagem formatada
 * Esta função é chamada por wallet-functions.php > enqueue_whatsapp()
 */
function get_notification_message($customer_id, $event_type, $amount = 0) {
    global $conn;

    $cust = $conn->query(
        "SELECT phone, firstname FROM customer_list WHERE id=" . (int)$customer_id
    )->fetch_assoc();

    if (!$cust) return null;

    $phone   = preg_replace('/\D/', '', $cust['phone']);
    if (strlen($phone) === 11) $phone = '55' . $phone;  // Adiciona DDI Brasil

    $message = get_whatsapp_message($event_type, $amount);

    return ['phone' => $phone, 'message' => $message, 'name' => $cust['firstname']];
}
?>
