diff --git a/backend/gestion/handlers/deleviry.go b/backend/gestion/handlers/deleviry.go index ccb33326..dcf75f78 100644 --- a/backend/gestion/handlers/deleviry.go +++ b/backend/gestion/handlers/deleviry.go @@ -455,7 +455,10 @@ func UpdateDeliveryStatus(c *gin.Context) { case "cancelled": log.Printf("🚫 Livraison annulée par livreur - Nettoyage queue cmd %d", commandID) - if err := database.RestoreCommandStock(commandID); err != nil { + prevStatus, _ := command["status"].(string) + if prevStatus == "cancelled" { + log.Printf("⏭️ [STATUS_LIVREUR] Stock NON restitué - commande déjà annulée (cmd %d)", commandID) + } else if err := database.RestoreCommandStock(commandID); err != nil { log.Printf("⚠️ [STATUS_LIVREUR] Erreur restauration stock cmd %d: %v", commandID, err) } else { log.Printf("✅ [STATUS_LIVREUR] Stock restauré pour cmd %d", commandID)