Add mqtt event sending in api controller jo cancel call #151

This commit is contained in:
Kendrick Chan 2018-07-02 01:45:08 +08:00
parent 47f3137ef1
commit 322e26afd1

View file

@ -900,7 +900,6 @@ class APIController extends Controller
'invoice' => $invoice_data 'invoice' => $invoice_data
]; ];
// set data // set data
$res->setData($data); $res->setData($data);
@ -1261,7 +1260,7 @@ class APIController extends Controller
return $res->getReturnResponse(); return $res->getReturnResponse();
} }
public function cancelJobOrder(Request $req) public function cancelJobOrder(Request $req, MQTTClient $mclient)
{ {
$required_params = [ $required_params = [
'jo_id', 'jo_id',
@ -1301,13 +1300,23 @@ class APIController extends Controller
} }
// TODO: check job order status, if it's cancellable // TODO: check job order status, if it's cancellable
$cancel_reason = $req->request->get('reason');
$jo->setStatus(JOStatus::CANCELLED) $jo->setStatus(JOStatus::CANCELLED)
->setDateCancel(new DateTime()) ->setDateCancel(new DateTime())
->setCancelReason($req->request->get('reason')); ->setCancelReason($cancel_reason);
$em->flush(); $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([]); $res->setData([]);
return $res->getReturnResponse(); return $res->getReturnResponse();