38 lines
994 B
Go
38 lines
994 B
Go
// ============================================
|
|
// db/commands_history.go
|
|
// ============================================
|
|
// Fonctions pour l'historique des commandes terminées
|
|
|
|
package db
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
)
|
|
|
|
// GetCompletedCommandsByUsername récupère toutes les commandes terminées (approved) d'un utilisateur
|
|
func (d *Database) GetCompletedCommandsByUsername(username string) ([]map[string]any, error) {
|
|
query := `
|
|
SELECT
|
|
id,
|
|
client_order_id AS client_order_number,
|
|
username,
|
|
status,
|
|
adresse,
|
|
total_prix::float8 as total_prix,
|
|
livreur_assign,
|
|
created_at,
|
|
updated_at
|
|
FROM commandes
|
|
WHERE username = ? AND status = 'approved'
|
|
ORDER BY created_at DESC
|
|
`
|
|
|
|
var commands []map[string]any
|
|
if err := d.GDB.Raw(query, username).Scan(&commands).Error; err != nil {
|
|
log.Printf("❌ [GetCompletedCommands] Erreur query: %v", err)
|
|
return nil, fmt.Errorf("erreur lors de la récupération des commandes terminées: %w", err)
|
|
}
|
|
return commands, nil
|
|
}
|