Set rider's current job order and availability status when reassigning job order. #617

This commit is contained in:
Korina Cordero 2021-08-23 08:51:12 +00:00
parent 7a57ce0fac
commit 940329de28
2 changed files with 23 additions and 1 deletions

View file

@ -1062,6 +1062,7 @@ class APIController extends Controller implements LoggedController
// find nearest hubs
$nearest_hubs = $hub_select->find($hub_criteria);
$assigned_rider = null;
if (!empty($nearest_hubs))
{
// go through the hub list, find the nearest hub
@ -1072,7 +1073,6 @@ class APIController extends Controller implements LoggedController
$available_riders = $nearest_hub['hub']->getAvailableRiders();
if (count($available_riders) >= 1)
{
$assigned_rider = null;
if (count($available_riders) == 1)
{
$assigned_rider = $available_riders[0];
@ -1098,6 +1098,9 @@ class APIController extends Controller implements LoggedController
$assigned_rider->setAvailable(false);
// set rider's current job order
$assigned_rider->setCurrentJobOrder($jo);
// update redis hub_jo_count for hub
$hub_dist->incrementJoCountForHub($nearest_hub['hub']);
@ -2952,6 +2955,9 @@ class APIController extends Controller implements LoggedController
$assigned_rider->setAvailable(false);
// set rider's current job order
$assigned_rider->setCurrentJobOrder($jo);
// update redis hub_jo_count for hub
$hub_dist->incrementJoCountForHub($nearest_hub['hub']);

View file

@ -955,6 +955,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// set rider unavailable
// $rider->setAvailable(false);
// set rider's current job order
$rider->setCurrentJobOrder($obj);
// the event
$event = new JOEvent();
$event->setDateHappen(new DateTime())
@ -1470,6 +1473,13 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
];
$mclient->sendRiderEvent($obj, $rider_payload);
// need to unset first rider's current job order
$old_rider = $obj->getRider();
$old_rider->setCurrentJobOrder();
// set available flag for first rider
$old_rider->setAvailable(true);
// coordinates
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
@ -1512,6 +1522,12 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if any errors were found
if (empty($error_array))
{
// set new rider's current job order
$rider->setCurrentJobOrder($obj);
// set new rider's availability to false
$rider->setAvailable(false);
// add event
$event = new JOEvent();
$event->setDateHappen(new DateTime())