Add event types for CMB. Add JO in transit API call. #421

This commit is contained in:
Korina Cordero 2020-06-02 06:35:31 +00:00
parent e74d4061ba
commit ce0240d001
2 changed files with 40 additions and 10 deletions

View file

@ -0,0 +1,32 @@
<?php
namespace App\Ramcar;
class CMBJOEventType extends NameValue
{
const CREATE = 'create';
const HUB_ASSIGN = 'hub_assign';
const RIDER_ASSIGN = 'rider_assign';
const CANCEL = 'cancel';
const FULFILL = 'fulfill';
const OPEN_EDIT = 'open_edit';
const REQUEUE = 'requeue';
const RIDER_ACCEPT = 'accept';
const RIDER_IN_TRANSIT = 'rider_in_transit';
const RIDER_ARRIVE = 'arrive';
const RIDER_EDIT = 'rider_edit';
const COLLECTION = [
'create' => 'Created',
'hub_assign' => 'Assigned to Hub',
'rider_assign' => 'Assigned Rider',
'cancel' => 'Cancelled',
'fulfill' => 'Fulfilled',
'open_edit' => 'Open Edit',
'requeue' => 'Requeue',
'accept' => 'Rider Accept',
'rider_in_transit' => 'Rider in Transit',
'arrive' => 'Rider Arrive',
'rider_edit' => 'Rider Edit',
];
}

View file

@ -9,7 +9,7 @@ use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
use App\Ramcar\ServiceType;
use App\Ramcar\TradeInType;
use App\Ramcar\JOStatus;
use App\Ramcar\JOEventType;
use App\Ramcar\CMBJOEventType;
use App\Ramcar\InvoiceStatus;
use App\Ramcar\ModeOfPayment;
use App\Ramcar\InvoiceCriteria;
@ -721,7 +721,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
// TODO: refactor this into a jo handler class, so we don't have to repeat for control center
// set jo status to in transit
$jo->setStatus(JOStatus::IN_TRANSIT);
//$jo->setStatus(JOStatus::IN_TRANSIT);
// TODO: send mqtt event (?)
@ -729,7 +729,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::RIDER_ACCEPT)
->setTypeID(CMBJOEventType::RIDER_ACCEPT)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
@ -746,8 +746,6 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
if (isset($data['error']))
return $data;
// TODO: it's the same status as acceptJobOrder
// do we add a new JOStatus?
// set jo status to in transit
$jo->setStatus(JOStatus::IN_TRANSIT);
@ -757,7 +755,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::RIDER_ACCEPT)
->setTypeID(CMBJOEventType::RIDER_IN_TRANSIT)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
@ -783,7 +781,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::REQUEUE)
->setTypeID(CMBJOEventType::REQUEUE)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
@ -817,7 +815,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::RIDER_ARRIVE)
->setTypeID(CMBJOEventType::RIDER_ARRIVE)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
@ -887,7 +885,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::FULFILL)
->setTypeID(CMBJOEventType::FULFILL)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);
@ -1168,7 +1166,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
$rider = $this->session->getRider();
$event = new JOEvent();
$event->setDateHappen(new DateTime())
->setTypeID(JOEventType::RIDER_EDIT)
->setTypeID(CMBJOEventType::RIDER_EDIT)
->setJobOrder($jo)
->setRider($rider);
$this->em->persist($event);