Set rider's current job order and availability status when reassigning job order. #617
This commit is contained in:
parent
7a57ce0fac
commit
940329de28
2 changed files with 23 additions and 1 deletions
|
|
@ -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']);
|
||||
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
Loading…
Reference in a new issue