Create rider cache for rider names. #466
This commit is contained in:
parent
6ff3ae8dbe
commit
9a444051e4
4 changed files with 63 additions and 2 deletions
|
|
@ -61,3 +61,9 @@ rider_ajax_avialable:
|
||||||
path: /riders/{id}/available
|
path: /riders/{id}/available
|
||||||
controller: App\Controller\RiderController::ajaxAvailable
|
controller: App\Controller\RiderController::ajaxAvailable
|
||||||
methods: [GET]
|
methods: [GET]
|
||||||
|
|
||||||
|
rider_ajax_rider_name:
|
||||||
|
path: /riders/rider_name
|
||||||
|
controller: App\Controller\RiderController::ajaxRiderName
|
||||||
|
methods: [GET]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ class DashboardMap {
|
||||||
this.rider_markers = rider_markers;
|
this.rider_markers = rider_markers;
|
||||||
this.cust_markers = cust_markers;
|
this.cust_markers = cust_markers;
|
||||||
this.rider_availability = {};
|
this.rider_availability = {};
|
||||||
|
this.rider_names = {};
|
||||||
|
|
||||||
// layer groups
|
// layer groups
|
||||||
this.layer_groups = {
|
this.layer_groups = {
|
||||||
|
|
@ -302,7 +303,7 @@ class DashboardMap {
|
||||||
$.each(riders, function(id, data) {
|
$.each(riders, function(id, data) {
|
||||||
var lat = data.latitude;
|
var lat = data.latitude;
|
||||||
var lng = data.longitude;
|
var lng = data.longitude;
|
||||||
var name = '';
|
var name = my.getRiderName(id);
|
||||||
|
|
||||||
if (data.has_jo)
|
if (data.has_jo)
|
||||||
my.putRiderActiveJOMarker(id, lat, lng, name);
|
my.putRiderActiveJOMarker(id, lat, lng, name);
|
||||||
|
|
@ -313,4 +314,24 @@ class DashboardMap {
|
||||||
// console.log(rider_markers);
|
// console.log(rider_markers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getRiderName(rider_id) {
|
||||||
|
// check if rider id and name in rider_names
|
||||||
|
var name = '';
|
||||||
|
if (this.rider_names.hasOwnProperty(rider_id)) {
|
||||||
|
name = this.rider_names[rider_id];
|
||||||
|
} else {
|
||||||
|
// ajax call to get rider name
|
||||||
|
$.ajax({
|
||||||
|
method: "GET",
|
||||||
|
url: "{{ url('rider_ajax_rider_name')|raw }}",
|
||||||
|
data: {id: rider_id}
|
||||||
|
}).done(function(response) {
|
||||||
|
name = response.rider_name;
|
||||||
|
this.rider_names[rider_id] = name;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ class MapEventHandler {
|
||||||
|
|
||||||
this.mqtt = new Paho.MQTT.Client(host, port, client_id);
|
this.mqtt = new Paho.MQTT.Client(host, port, client_id);
|
||||||
var options = {
|
var options = {
|
||||||
useSSL: this.ssl,
|
//useSSL: this.ssl,
|
||||||
timeout: 3,
|
timeout: 3,
|
||||||
invocationContext: this,
|
invocationContext: this,
|
||||||
onSuccess: this.onConnect.bind(this),
|
onSuccess: this.onConnect.bind(this),
|
||||||
|
|
|
||||||
|
|
@ -596,4 +596,38 @@ class RiderController extends Controller
|
||||||
|
|
||||||
return $this->redirecttoRoute('rider_update', ['id' => $rider->getID()]);
|
return $this->redirecttoRoute('rider_update', ['id' => $rider->getID()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ParamConverter("rider", class="App\Entity\Rider")
|
||||||
|
*/
|
||||||
|
public function ajaxAvailable(EntityManagerInterface $em, Rider $rider)
|
||||||
|
{
|
||||||
|
$jo = $rider->getRiderActiveJobOrder();
|
||||||
|
if ($jo == null || $jo->isClosed())
|
||||||
|
$avail = 'available';
|
||||||
|
else
|
||||||
|
$avail = 'unavailable';
|
||||||
|
|
||||||
|
$response = new Response(
|
||||||
|
$avail,
|
||||||
|
Response::HTTP_OK,
|
||||||
|
['content-type' => 'text/plain']
|
||||||
|
);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function ajaxRiderName(EntityManagerInterface $em, Request $req)
|
||||||
|
{
|
||||||
|
$rider_id = $req->query->get('id');
|
||||||
|
|
||||||
|
$rider = $em->getRepository(Rider::class)->find($rider_id);
|
||||||
|
$rider_name = '';
|
||||||
|
if ($rider != null)
|
||||||
|
$rider_name = $rider->getFullName();
|
||||||
|
|
||||||
|
return $this->json([
|
||||||
|
'rider_name' => $rider_name,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue