Merge branch '675-set-rider-s-current-jo-id-to-null-if-jo-s-hub-is-reassigned-and-jo-has-been-rider-assigned' into 'master'

Resolve "Set rider's current jo id to null if JO's hub is reassigned and JO has been rider assigned"

Closes #675

See merge request jankstudio/resq!789
This commit is contained in:
Kendrick Chan 2022-06-01 08:04:07 +00:00
commit 79f2686404

View file

@ -1380,6 +1380,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get previously assigned hub, if any
$old_hub = $obj->getHub();
// get previously assigned rider, if any
$old_rider = $obj->getRider();
if (empty($error_array))
{
// rider mqtt event
@ -1391,6 +1394,19 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
];
$mclient->sendRiderEvent($obj, $rider_payload);
// need to unset first rider's current job order
$old_rider = $obj->getRider();
if ($old_rider != null)
{
if (($old_rider->getCurrentJobOrder() != null) &&
($old_rider->getCurrentJobOrder()->getID() == $obj->getID()))
{
$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'));
@ -1645,9 +1661,13 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$old_rider = $obj->getRider();
if ($old_rider != null)
{
$old_rider->setCurrentJobOrder();
// set available flag for first rider
$old_rider->setAvailable(true);
if (($old_rider->getCurrentJobOrder() != null) &&
($old_rider->getCurrentJobOrder()->getID() == $obj->getID()))
{
$old_rider->setCurrentJobOrder();
// set available flag for first rider
$old_rider->setAvailable(true);
}
}
// coordinates