Update: 2026-06-22 00:31:28

This commit is contained in:
Hamza-Ayed
2026-06-22 00:31:29 +03:00
parent e73be65a72
commit efe26c95be
19 changed files with 2635 additions and 32 deletions

View File

@@ -124,6 +124,16 @@ function calculateDynamicPrice($country, $minFare, $distance, $duration, $kazanR
$demandCount = (int)$redis->get("demand:grid:" . $grid_id);
$availableDrivers = 0;
// Check competitor surge opportunities
$competitorSurgeMultiplier = 1.0;
$surgeOpsJson = $redis->get("surge:opportunities");
if ($surgeOpsJson) {
$surgeOps = json_decode($surgeOpsJson, true);
if (is_array($surgeOps) && isset($surgeOps[$grid_id])) {
$competitorSurgeMultiplier = (float)$surgeOps[$grid_id];
}
}
// Driver locations are handled by Location Redis (no prefix)
try {
if (isset($redisLocation) && $redisLocation !== null) {
@@ -139,6 +149,11 @@ function calculateDynamicPrice($country, $minFare, $distance, $duration, $kazanR
$surgeMultiplier = min(3.0, $surgeMultiplier); // Cap at 3.0
}
}
// Auto-Adaptive Pricing: Apply competitor surge if it's higher
if ($competitorSurgeMultiplier > $surgeMultiplier) {
$surgeMultiplier = $competitorSurgeMultiplier;
}
} catch (Exception $e) {}
}