Add preHubArrive and preHubDepart. #617
This commit is contained in:
parent
bcd55901d3
commit
7671b79d2e
1 changed files with 76 additions and 0 deletions
|
|
@ -529,10 +529,86 @@ class RiderController extends APIController
|
|||
|
||||
public function preHubArrive(Request $req, EntityManagerInterface $em)
|
||||
{
|
||||
$required_params = [];
|
||||
$missing = $this->checkMissingParameters($req, $required_params);
|
||||
if (count($missing) > 0)
|
||||
{
|
||||
$params = implode(', ', $missing);
|
||||
return new APIResponse(false, 'Missing parameter(s): ' . $params);
|
||||
}
|
||||
|
||||
// get capi user to link to rider api user
|
||||
$capi_user_id = $this->getUser()->getID();
|
||||
|
||||
// check if capi user already has a rider api user
|
||||
$rapi_session = $em->getRepository(RiderAPISession::class)->findOneBy(['capi_user_id' => $capi_user_id]);
|
||||
|
||||
// are we logged in?
|
||||
if (!$rapi_session->hasRider())
|
||||
return new APIResponse(false, 'No logged in rider.');
|
||||
|
||||
$rider = $rapi_session->getRider();
|
||||
|
||||
// get rider's current job order
|
||||
$jo = $rider->getCurrentJobOrder();
|
||||
|
||||
// set delivery status
|
||||
$jo->setDeliveryStatus(DeliveryStatus::RIDER_ARRIVE_HUB_PRE_JO);
|
||||
|
||||
// create time stamp event for JO event
|
||||
$event = new JOEvent();
|
||||
$event->setDateHappen(new DateTime())
|
||||
->setTypeID(JOEventType::RIDER_ARRIVE_HUB_PRE_JO)
|
||||
->setJobOrder($jo)
|
||||
->setRider($rider);
|
||||
|
||||
$em->persist($event);
|
||||
$em->flush();
|
||||
|
||||
$data = [];
|
||||
return new APIResponse(true, 'Rider arrive at hub pre jo.', $data);
|
||||
}
|
||||
|
||||
public function preHubDepart(Request $req, EntityManagerInterface $em)
|
||||
{
|
||||
$required_params = [];
|
||||
$missing = $this->checkMissingParameters($req, $required_params);
|
||||
if (count($missing) > 0)
|
||||
{
|
||||
$params = implode(', ', $missing);
|
||||
return new APIResponse(false, 'Missing parameter(s): ' . $params);
|
||||
}
|
||||
|
||||
// get capi user to link to rider api user
|
||||
$capi_user_id = $this->getUser()->getID();
|
||||
|
||||
// check if capi user already has a rider api user
|
||||
$rapi_session = $em->getRepository(RiderAPISession::class)->findOneBy(['capi_user_id' => $capi_user_id]);
|
||||
|
||||
// are we logged in?
|
||||
if (!$rapi_session->hasRider())
|
||||
return new APIResponse(false, 'No logged in rider.');
|
||||
|
||||
$rider = $rapi_session->getRider();
|
||||
|
||||
// get rider's current job order
|
||||
$jo = $rider->getCurrentJobOrder();
|
||||
|
||||
// set delivery status
|
||||
$jo->setDeliveryStatus(DeliveryStatus::RIDER_DEPART_HUB_PRE_JO);
|
||||
|
||||
// create time stamp event for JO event
|
||||
$event = new JOEvent();
|
||||
$event->setDateHappen(new DateTime())
|
||||
->setTypeID(JOEventType::RIDER_DEPART_HUB_PRE_JO)
|
||||
->setJobOrder($jo)
|
||||
->setRider($rider);
|
||||
|
||||
$em->persist($event);
|
||||
$em->flush();
|
||||
|
||||
$data = [];
|
||||
return new APIResponse(true, 'Rider depart from hub pre jo.', $data);
|
||||
}
|
||||
|
||||
public function startJobOrder(Request $req, EntityManagerInterface $em)
|
||||
|
|
|
|||
Loading…
Reference in a new issue