Add MQTT event sending #41
This commit is contained in:
parent
7ef92bad99
commit
f5c7d17d2f
2 changed files with 38 additions and 3 deletions
|
|
@ -611,12 +611,15 @@ class CustomerController extends BaseController
|
||||||
->setParameter('filter', '%' . $term . '%');
|
->setParameter('filter', '%' . $term . '%');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// get rows
|
// get rows
|
||||||
$obj_rows = $query->orderBy('q.plate_number', 'asc')
|
$query_obj = $query->orderBy('q.plate_number', 'asc')
|
||||||
->setFirstResult($offset)
|
->setFirstResult($offset)
|
||||||
->setMaxResults($perpage)
|
->setMaxResults($perpage)
|
||||||
->getQuery()
|
->getQuery();
|
||||||
->getResult();
|
// error_log($query_obj->getSql());
|
||||||
|
|
||||||
|
$obj_rows = $query_obj->getResult();
|
||||||
|
|
||||||
// build vehicles array
|
// build vehicles array
|
||||||
$vehicles = [];
|
$vehicles = [];
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||||
|
|
||||||
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
||||||
|
|
||||||
|
use Mosquitto\Client as MosquittoClient;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
|
|
||||||
class JobOrderController extends BaseController
|
class JobOrderController extends BaseController
|
||||||
|
|
@ -972,12 +973,43 @@ class JobOrderController extends BaseController
|
||||||
// validated! save the entity
|
// validated! save the entity
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
|
// get rider
|
||||||
|
$rider = $obj->getRider();
|
||||||
|
|
||||||
|
$image_url = $req->getScheme() . '://' . $req->getHttpHost() . $req->getBasePath() . '/assets/images/user.gif';
|
||||||
|
if ($rider->getImageFile() != null)
|
||||||
|
$image_url = $req->getScheme() . '://' . $req->getHttpHost() . $req->getBasePath() . '/uploads/' . $rider->getImageFile();
|
||||||
|
|
||||||
|
// send to mqtt
|
||||||
|
$payload = [
|
||||||
|
'event' => 'start_rating',
|
||||||
|
'jo_id' => $obj->getID(),
|
||||||
|
'driver_image' => $image_url,
|
||||||
|
'driver_name' => $rider->getFullName(),
|
||||||
|
'driver_id' => $rider->getID(),
|
||||||
|
];
|
||||||
|
$this->sendEvent($obj, $payload);
|
||||||
|
|
||||||
// return successful response
|
// return successful response
|
||||||
return $this->json([
|
return $this->json([
|
||||||
'success' => 'Changes have been saved!'
|
'success' => 'Changes have been saved!'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function sendEvent(JobOrder $job_order, $payload)
|
||||||
|
{
|
||||||
|
$session = $job_order->getCustomer()->getMobileSessions();
|
||||||
|
if (count($session) == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$phone_num = $session[0]->getPhoneNumber();
|
||||||
|
$channel = 'motolite.control.' . $phone_num;
|
||||||
|
$client = new MosquittoClient();
|
||||||
|
$client->connect('localhost', 1883);
|
||||||
|
$client->publish($channel, json_encode($payload));
|
||||||
|
$client->disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
public function openHubForm(MapTools $map_tools, $id)
|
public function openHubForm(MapTools $map_tools, $id)
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('jo_open.list', null, 'No access.');
|
$this->denyAccessUnlessGranted('jo_open.list', null, 'No access.');
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue