Update: 2026-07-22 16:01:21

This commit is contained in:
Hamza-Ayed
2026-07-22 16:01:21 +03:00
parent 09a4bbc79f
commit ccbe3ab88d
2 changed files with 27 additions and 5 deletions
+23 -1
View File
@@ -104,7 +104,6 @@ try {
SELECT driver_id, AVG(rating) AS ratingDriver FROM ratingDriver GROUP BY driver_id
) rdAvg ON rdAvg.driver_id = d.id
WHERE d.id IN ($placeholders)
AND COALESCE(cr.year, 0) > 2000
";
$stmt = $con->prepare($sql_drivers_info);
@@ -112,9 +111,11 @@ try {
$drivers_db = $stmt->fetchAll(PDO::FETCH_ASSOC);
$fieldsToDecrypt = ['phone','email','gender','birthdate','first_name','last_name','token','car_plate','vin'];
$foundIds = [];
foreach ($drivers_db as $row) {
$did = $row['driver_id'];
$foundIds[] = $did;
if (isset($driversMap[$did])) {
$redisInfo = $driversMap[$did];
@@ -172,6 +173,27 @@ try {
]),
]);
}
// 🚀 Fallback: إذا كان السائق نشط في Redis لكن بيانت السيارة في MySQL مفقودة/قديمة، أظهر موقعه للراكب
$missingIds = array_diff($mysqlIds, $foundIds);
foreach ($missingIds as $mid) {
if (isset($driversMap[$mid])) {
$d = $driversMap[$mid];
$final_result[] = [
'driver_id' => $mid,
'id' => $mid,
'first_name'=> 'Driver',
'last_name' => '',
'latitude' => $d['latitude'] ?? $d['lat'] ?? '',
'longitude' => $d['longitude'] ?? $d['lng'] ?? '',
'heading' => $d['heading'] ?? '0',
'speed' => $d['speed'] ?? '0',
'make' => '',
'model' => '',
'serverNow' => $serverNow,
];
}
}
}
// إرجاع النتيجة