diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php index abe6fc8a..3d38a15a 100644 --- a/src/Controller/RAPIController.php +++ b/src/Controller/RAPIController.php @@ -466,11 +466,19 @@ class RAPIController extends Controller // set jo status to in transit $jo->setStatus(JOStatus::IN_TRANSIT); - $em->flush(); // TODO: send mqtt event (?) - // TODO: add event + // add event log + $rider = $this->session->getRider(); + $event = new JOEvent(); + $event->setDateHappen(new DateTime()) + ->setTypeID(JOEventType::RIDER_ACCEPT) + ->setJobOrder($jo) + ->setRider($rider); + $em->persist($event); + + $em->flush(); return $res->getReturnResponse(); } @@ -483,13 +491,12 @@ class RAPIController extends Controller if ($res->isError()) return $res->getReturnResponse(); - $rider = $this->session->getRider(); - // $jo->cancel("rider cancelled"); // requeue it, instead of cancelling it $jo->requeue(); - // add event + // add event log + $rider = $this->session->getRider(); $event = new JOEvent(); $event->setDateHappen(new DateTime()) ->setTypeID(JOEventType::REQUEUE) @@ -524,6 +531,16 @@ class RAPIController extends Controller // set jo status to in progress $jo->setStatus(JOStatus::IN_PROGRESS); + + // add event log + $rider = $this->session->getRider(); + $event = new JOEvent(); + $event->setDateHappen(new DateTime()) + ->setTypeID(JOEventType::RIDER_ARRIVE) + ->setJobOrder($jo) + ->setRider($rider); + $em->persist($event); + $em->flush(); // send mqtt event @@ -541,7 +558,6 @@ class RAPIController extends Controller ]; $mclient->sendEvent($jo, $payload); - // TODO: add event return $res->getReturnResponse(); } @@ -563,6 +579,15 @@ class RAPIController extends Controller */ $jo->fulfill(); + // add event log + $rider = $this->session->getRider(); + $event = new JOEvent(); + $event->setDateHappen(new DateTime()) + ->setTypeID(JOEventType::FULFILL) + ->setJobOrder($jo) + ->setRider($rider); + $em->persist($event); + $em->flush(); // send mqtt event (fulfilled) @@ -579,9 +604,6 @@ class RAPIController extends Controller ]; $mclient->sendEvent($jo, $payload); - - // TODO: add event - return $res->getReturnResponse(); } @@ -775,10 +797,17 @@ class RAPIController extends Controller // save invoice $jo->setInvoice($invoice); $em->persist($invoice); + + // add event log + $rider = $this->session->getRider(); + $event = new JOEvent(); + $event->setDateHappen(new DateTime()) + ->setTypeID(JOEventType::RIDER_EDIT) + ->setJobOrder($jo) + ->setRider($rider); + $em->persist($event); + $em->flush(); - - // TODO: add event - // TODO: send mqtt event (?) return $res->getReturnResponse(); diff --git a/src/Ramcar/JOEventType.php b/src/Ramcar/JOEventType.php index 73db12ef..3929c24e 100644 --- a/src/Ramcar/JOEventType.php +++ b/src/Ramcar/JOEventType.php @@ -11,6 +11,9 @@ class JOEventType extends NameValue const FULFILL = 'fulfill'; const OPEN_EDIT = 'open_edit'; const REQUEUE = 'requeue'; + const RIDER_ACCEPT = 'accept'; + const RIDER_ARRIVE = 'arrive'; + const RIDER_EDIT = 'rider_edit'; const COLLECTION = [ 'create' => 'Created', @@ -20,5 +23,8 @@ class JOEventType extends NameValue 'fulfill' => 'Fulfilled', 'open_edit' => 'Open Edit', 'requeue' => 'Requeue', + 'accept' => 'Rider Accept', + 'arrive' => 'Rider Arrive', + 'rider_edit' => 'Rider Edit', ]; }