-- =====================================================
-- Migration: Ajouter la colonne Achat_total_de_client
-- Description: Montant total des achats (CA) pour chaque client
-- Date: 14 Janvier 2026
-- =====================================================

-- Ajouter la colonne si elle n'existe pas déjà
ALTER TABLE `cupidose_client` 
ADD COLUMN IF NOT EXISTS `Achat_total_de_client` DECIMAL(15,2) DEFAULT 0.00 
COMMENT 'Montant total des achats (CA) en euros' 
AFTER `Commande_total_de_client`;

-- Calculer et mettre à jour le montant total pour tous les clients existants
UPDATE `cupidose_client` c
SET `Achat_total_de_client` = (
    SELECT COALESCE(SUM(ca_total), 0) FROM (
        SELECT SUM(`Prix_de_vente_total_de_produit_finis_achat-revente`) as ca_total
        FROM `cupidose_produit_finis_achat-revente`
        WHERE `Client_de_produit_finis_achat-revente` = c.ID
        AND `Statut_de_produit_finis_achat-revente` = 'Produit vendu'
        UNION ALL
        SELECT SUM(`Prix_de_vente_total_de_produit_finis_formulation`) as ca_total
        FROM `cupidose_produit_finis_formulation`
        WHERE `Client_de_produit_finis_formulation` = c.ID
        AND `Statut_de_produit_finis_formulation` = 'Produit vendu'
    ) AS total_ca
);

-- =====================================================
-- Vérification: Afficher quelques clients avec leur total
-- =====================================================
SELECT 
    ID,
    CONCAT(Prénom_de_client, ' ', Nom_de_client) AS Client,
    Surnom_de_client AS Surnom,
    Commande_total_de_client AS `Nb Commandes`,
    Achat_total_de_client AS `Total Achats (€)`
FROM `cupidose_client`
WHERE Achat_total_de_client > 0
ORDER BY Achat_total_de_client DESC
LIMIT 10;
