From 322e26afd1e7dd3a2352295d26bfbc79c9e1a00b Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Mon, 2 Jul 2018 01:45:08 +0800 Subject: [PATCH] Add mqtt event sending in api controller jo cancel call #151 --- src/Controller/APIController.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index f31c3832..54dcf627 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -900,7 +900,6 @@ class APIController extends Controller 'invoice' => $invoice_data ]; - // set data $res->setData($data); @@ -1261,7 +1260,7 @@ class APIController extends Controller return $res->getReturnResponse(); } - public function cancelJobOrder(Request $req) + public function cancelJobOrder(Request $req, MQTTClient $mclient) { $required_params = [ 'jo_id', @@ -1301,13 +1300,23 @@ class APIController extends Controller } // TODO: check job order status, if it's cancellable - + $cancel_reason = $req->request->get('reason'); $jo->setStatus(JOStatus::CANCELLED) ->setDateCancel(new DateTime()) - ->setCancelReason($req->request->get('reason')); + ->setCancelReason($cancel_reason); $em->flush(); + // send mobile app event + $payload = [ + 'event' => 'cancelled', + 'reason' => $cancel_reason, + 'jo_id' => $jo->getID(), + ]; + $mclient->sendEvent($jo, $payload); + $mclient->sendRiderEvent($jo, $payload); + + $res->setData([]); return $res->getReturnResponse();