Add filter for rider availability. #554
This commit is contained in:
parent
140ea8c738
commit
4337864c2c
1 changed files with 35 additions and 0 deletions
|
|
@ -73,6 +73,8 @@ class HubSelector
|
||||||
$filtered_hubs = $hubs_payment_method;
|
$filtered_hubs = $hubs_payment_method;
|
||||||
|
|
||||||
// filter hubs by rider availability
|
// filter hubs by rider availability
|
||||||
|
$hubs_rider_availability = $this->filterHubsByRiderAvailability($filtered_hubs);
|
||||||
|
$filtered_hubs = $hubs_rider_availability;
|
||||||
|
|
||||||
// inventory filter
|
// inventory filter
|
||||||
$hubs_inventory = $this->filterHubsByInventory($filtered_hubs, $flag_inventory_check,
|
$hubs_inventory = $this->filterHubsByInventory($filtered_hubs, $flag_inventory_check,
|
||||||
|
|
@ -201,6 +203,39 @@ class HubSelector
|
||||||
return $results;
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function filterHubsByRiderAvailability($hubs)
|
||||||
|
{
|
||||||
|
if (empty($hubs))
|
||||||
|
return $hubs;
|
||||||
|
|
||||||
|
$results = [];
|
||||||
|
foreach ($hubs as $hub_data)
|
||||||
|
{
|
||||||
|
$hub = $hub_data['hub'];
|
||||||
|
|
||||||
|
// get hub's riders
|
||||||
|
$riders = $hub->getRiders();
|
||||||
|
$avail_rider_count = 0;
|
||||||
|
foreach ($riders as $rider)
|
||||||
|
{
|
||||||
|
if ($rider->isAvailable())
|
||||||
|
$avail_rider_count = $avail_rider_count +1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($avail_rider_count > 0)
|
||||||
|
$results[] = [
|
||||||
|
'hub' => $hub,
|
||||||
|
'db_distance' => $hub_data['db_distance'],
|
||||||
|
'distance' => $hub_data['distance'],
|
||||||
|
'duration' => $hub_data['duration'],
|
||||||
|
];
|
||||||
|
else
|
||||||
|
$this->hub_filter_logger->logFilteredHub($hub, 'no_available_rider');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
protected function filterHubsByDateAndTime($hubs, $date_time)
|
protected function filterHubsByDateAndTime($hubs, $date_time)
|
||||||
{
|
{
|
||||||
if (empty($hubs))
|
if (empty($hubs))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue