chore: update
This commit is contained in:
@@ -106,28 +106,19 @@ func GetOrderETA(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// ✅ CORRECTION CRITIQUE: Vérifier si le livreur a démarré
|
||||
if cmdStatus != "en_route" && cmdStatus != "arrived" {
|
||||
log.Printf("⏳ [ETA] Commande en statut '%s' - ETA pas encore disponible", cmdStatus)
|
||||
|
||||
livreurAssign, _ := command["livreur_assign"].(string)
|
||||
var livreurInfo string
|
||||
if livreurAssign != "" {
|
||||
livreurInfo = fmt.Sprintf("Livreur %s assigné", livreurAssign)
|
||||
} else {
|
||||
livreurInfo = "En attente d'assignation"
|
||||
}
|
||||
|
||||
// Pour pending: aucune estimation disponible
|
||||
if cmdStatus == "pending" {
|
||||
log.Printf("⏳ [ETA] Commande en attente d'assignation - pas d'ETA")
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"success": true,
|
||||
"command_id": commandID,
|
||||
"status": cmdStatus,
|
||||
"message": "Le livreur n'a pas encore démarré la livraison",
|
||||
"eta_available": false,
|
||||
"info": livreurInfo,
|
||||
"message": "En attente d'assignation d'un livreur",
|
||||
})
|
||||
return
|
||||
}
|
||||
// Pour assigned/en_route/arrived: calcul ETA réel via position du livreur
|
||||
|
||||
// 6️⃣ VÉRIFIER LE CACHE REDIS POUR ETA
|
||||
etaKey := fmt.Sprintf("command:eta:%d", commandID)
|
||||
@@ -140,7 +131,7 @@ func GetOrderETA(c *gin.Context) {
|
||||
fmt.Sscanf(updatedAtStr, "%d", &updatedAt)
|
||||
|
||||
timeSinceUpdate := time.Since(time.Unix(updatedAt, 0))
|
||||
if timeSinceUpdate < 2*time.Minute {
|
||||
if timeSinceUpdate < 30*time.Second {
|
||||
// Cache valide
|
||||
var etaMinutes int64
|
||||
if etaStr, ok := etaData["eta_minutes"]; ok {
|
||||
|
||||
Reference in New Issue
Block a user