From 4b635631bae732da372bda8776844bb1222e2120 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Wed, 15 Aug 2018 11:24:26 +0800 Subject: [PATCH 1/2] Change mqtt event when rider cancels to outlet_assign #162 --- src/Controller/RAPIController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index 7b66312d..816cc1ec 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -509,9 +509,9 @@ class RAPIController extends Controller $em->flush(); // send mqtt event + // send outlet assign since order should go back to hub and await reassignment to another rider $payload = [ - 'event' => 'cancelled', - 'reason' => 'mobile cancellation', + 'event' => 'outlet_assign', 'jo_id' => $jo->getID(), ]; $mclient->sendEvent($jo, $payload); From e3a0e8e23c0cdffda0e546e5b67da6727d71c002 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Wed, 15 Aug 2018 12:59:57 +0800 Subject: [PATCH 2/2] Have hub reassign and rider reassign send mqtt events to rider and user app #162 --- src/Controller/JobOrderController.php | 38 ++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index d76d41ca..cc2ab1ac 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -1489,7 +1489,7 @@ class JobOrderController extends BaseController return $this->render('job-order/form.html.twig', $params); } - public function openHubSubmit(Request $req, ValidatorInterface $validator, $id) + public function openHubSubmit(Request $req, ValidatorInterface $validator, MQTTClient $mclient, $id) { $this->denyAccessUnlessGranted('jo_open.list', null, 'No access.'); @@ -1522,7 +1522,17 @@ class JobOrderController extends BaseController } } - if (empty($error_array)) { + if (empty($error_array)) + { + // rider mqtt event + // NOTE: need to send this before saving because rider will be cleared + $rider_payload = [ + 'event' => 'cancelled', + 'reason' => 'Reassigned', + 'jo_id' => $obj->getID(), + ]; + $mclient->sendRiderEvent($obj, $rider_payload); + // coordinates $point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat')); @@ -1571,6 +1581,12 @@ class JobOrderController extends BaseController // validated! save the entity $em->flush(); + // user mqtt event + $payload = [ + 'event' => 'outlet_assign' + ]; + $mclient->sendEvent($obj, $payload); + // return successful response return $this->json([ 'success' => 'Changes have been saved!' @@ -1615,7 +1631,7 @@ class JobOrderController extends BaseController return $this->render('job-order/form.html.twig', $params); } - public function openRiderSubmit(Request $req, ValidatorInterface $validator, $id) + public function openRiderSubmit(Request $req, ValidatorInterface $validator, MQTTClient $mclient, $id) { $this->denyAccessUnlessGranted('jo_open.list', null, 'No access.'); @@ -1648,6 +1664,15 @@ class JobOrderController extends BaseController } if (empty($error_array)) { + // rider mqtt event + // NOTE: need to send this before saving because rider will be cleared + $rider_payload = [ + 'event' => 'cancelled', + 'reason' => 'Reassigned', + 'jo_id' => $obj->getID(), + ]; + $mclient->sendRiderEvent($obj, $rider_payload); + // coordinates $point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat')); @@ -1697,6 +1722,13 @@ class JobOrderController extends BaseController // validated! save the entity $em->flush(); + // send event to mobile app + $payload = [ + 'event' => 'driver_assigned' + ]; + $mclient->sendEvent($obj, $payload); + $mclient->sendRiderEvent($obj, $payload); + // return successful response return $this->json([ 'success' => 'Changes have been saved!'