diff --git a/backend/gestion/db/db_commands.go b/backend/gestion/db/db_commands.go index 0275fd4e..cdbf4577 100644 --- a/backend/gestion/db/db_commands.go +++ b/backend/gestion/db/db_commands.go @@ -240,7 +240,7 @@ func (d *Database) CreateCommandWithAddress(username, deliveryAddress string) (* // Stock déjà déduit à l'ajout au panier — ne pas déduire une seconde fois ici. } - if err := d.GDB.Delete(&models.Panier{}, "username = ?", username).Error; err != nil { + if err := d.GDB.Exec(`DELETE FROM baskets WHERE username = ?`, username).Error; err != nil { log.Printf("⚠️ Erreur vidage panier: %v", err) } diff --git a/backend/gestion/db/db_delivery.go b/backend/gestion/db/db_delivery.go index 810b8458..288a4652 100644 --- a/backend/gestion/db/db_delivery.go +++ b/backend/gestion/db/db_delivery.go @@ -106,6 +106,10 @@ func (d *Database) GetDeliveryPersonCommands(livreurUsername string, status stri if status != "" { query += " AND status = ?" args = append(args, status) + } else { + // Ne retourner que les commandes actives — exclure l'historique terminé + // pour éviter le N+1 sur 66+ commandes qui fait timeout le mobile + query += " AND status IN ('assigned', 'en_route', 'arrived', 'livre')" } query += " ORDER BY created_at DESC"