chore: build
This commit is contained in:
@@ -302,24 +302,10 @@ func ValidateBasket(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vérifier qu'il y a au moins un article normal (non-récompense)
|
|
||||||
hasNormalItem := false
|
|
||||||
for _, item := range items {
|
|
||||||
if isReward, ok := item["is_reward"].(bool); !ok || !isReward {
|
|
||||||
hasNormalItem = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !hasNormalItem {
|
|
||||||
log.Printf("❌ [CHECKOUT] Panier contient uniquement des récompenses pour %s", usernameStr)
|
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Vous devez commander au moins un produit de la boutique pour bénéficier de votre récompense"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Printf("🛒 [CHECKOUT] Panier: %d articles", len(items))
|
log.Printf("🛒 [CHECKOUT] Panier: %d articles", len(items))
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// 1️⃣b Vérifier le minimum de commande selon la zone
|
// 1️⃣b Calculer le total et vérifier la présence d'au moins un article payant
|
||||||
// ============================================
|
// ============================================
|
||||||
var cartTotal float64
|
var cartTotal float64
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
@@ -328,6 +314,21 @@ func ValidateBasket(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Détecter si le panier contient un article récompense (prix 0)
|
||||||
|
hasRewardItem := false
|
||||||
|
for _, item := range items {
|
||||||
|
if price, ok := item["price"].(float64); ok && price == 0 {
|
||||||
|
hasRewardItem = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Si récompense présente mais aucun produit payant → refuser
|
||||||
|
if hasRewardItem && cartTotal <= 0 {
|
||||||
|
log.Printf("❌ [CHECKOUT] Panier contient uniquement des récompenses pour %s", usernameStr)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"error": "Vous devez commander au moins un produit de la boutique pour bénéficier de votre récompense"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Récupérer les paramètres globaux (zones + parrainage)
|
// Récupérer les paramètres globaux (zones + parrainage)
|
||||||
appSettings, _ := database.GetSettings()
|
appSettings, _ := database.GetSettings()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user