import mysql.connector
from python.db_config import DB_CONFIG
from datetime import datetime

def check_daily_bonus():
    """Vérifier l'état du bonus quotidien"""
    conn = mysql.connector.connect(**DB_CONFIG)
    cursor = conn.cursor(dictionary=True)
    
    # Date actuelle (heure serveur MySQL)
    cursor.execute("SELECT NOW() as now, CURDATE() as today")
    server_time = cursor.fetchone()
    
    print(f"🕐 Heure serveur MySQL: {server_time['now']}")
    print(f"📅 Date serveur MySQL: {server_time['today']}\n")
    
    # Récupérer les infos de l'utilisateur ID 1
    cursor.execute("""
        SELECT id, email, display_name FROM users WHERE id = 1
    """)
    user = cursor.fetchone()
    
    if not user:
        print("❌ Utilisateur ID 1 non trouvé")
        return
    
    print(f"👤 Utilisateur: {user['display_name']} ({user['email']})\n")
    
    # Vérifier la table daily_bonus
    cursor.execute("""
        SELECT * FROM daily_bonus 
        WHERE user_id = 1
    """)
    bonus_record = cursor.fetchone()
    
    print("📊 État du bonus quotidien:")
    if bonus_record:
        print(f"   Dernière réclamation: {bonus_record['last_claim_date']}")
        print(f"   Jours consécutifs: {bonus_record['consecutive_days']}")
        print(f"   Total hints gagnés: {bonus_record['total_hints_earned']}")
        print(f"   Total solutions gagnées: {bonus_record['total_solutions_earned']}")
        print(f"   Mis à jour: {bonus_record['updated_at']}")
        
        # Comparer avec aujourd'hui
        if str(bonus_record['last_claim_date']) == str(server_time['today']):
            print(f"\n   ⚠️  DÉJÀ RÉCLAMÉ AUJOURD'HUI ({server_time['today']})")
        else:
            print(f"\n   ✅ PAS ENCORE RÉCLAMÉ AUJOURD'HUI")
            print(f"      Dernier claim: {bonus_record['last_claim_date']}")
            print(f"      Aujourd'hui: {server_time['today']}")
    else:
        print("   ℹ️  Aucun bonus jamais réclamé (pas d'entrée en DB)")
    
    # Vérifier le wallet
    cursor.execute("""
        SELECT * FROM wallets WHERE user_id = 1
    """)
    wallet = cursor.fetchone()
    
    print(f"\n💰 Wallet actuel:")
    if wallet:
        print(f"   Points: {wallet['points']}")
        print(f"   Bonus Points: {wallet['bonus_points']}")
        print(f"   Hints: {wallet['hints']}")
        print(f"   Undos: {wallet['undos']}")
        print(f"   Replays: {wallet['replays']}")
    else:
        print("   ❌ Wallet non trouvé")
    
    conn.close()

if __name__ == '__main__':
    check_daily_bonus()
