Refactor cancel job order process #159

This commit is contained in:
Kendrick Chan 2018-07-25 23:03:32 +08:00
parent 8d08dc9551
commit 098df69949
4 changed files with 25 additions and 2 deletions

View file

@ -1303,9 +1303,13 @@ class APIController extends Controller
// TODO: check job order status, if it's cancellable // TODO: check job order status, if it's cancellable
$cancel_reason = $req->request->get('reason'); $cancel_reason = $req->request->get('reason');
$jo->cancel($cancel_reason);
/*
$jo->setStatus(JOStatus::CANCELLED) $jo->setStatus(JOStatus::CANCELLED)
->setDateCancel(new DateTime()) ->setDateCancel(new DateTime())
->setCancelReason($cancel_reason); ->setCancelReason($cancel_reason);
*/
$em->flush(); $em->flush();

View file

@ -2133,6 +2133,7 @@ class JobOrderController extends BaseController
if (empty($obj)) if (empty($obj))
throw $this->createNotFoundException('The item does not exist'); throw $this->createNotFoundException('The item does not exist');
/*
// cancel job order // cancel job order
$obj->setStatus(JOStatus::CANCELLED) $obj->setStatus(JOStatus::CANCELLED)
->setDateCancel(new DateTime()) ->setDateCancel(new DateTime())
@ -2142,6 +2143,9 @@ class JobOrderController extends BaseController
$rider = $obj->getRider(); $rider = $obj->getRider();
if ($rider != null) if ($rider != null)
$rider->setAvailable(); $rider->setAvailable();
*/
$obj->cancel($cancel_request);
// the event // the event
$event = new JOEvent(); $event = new JOEvent();

View file

@ -481,8 +481,7 @@ class RAPIController extends Controller
if ($res->isError()) if ($res->isError())
return $res->getReturnResponse(); return $res->getReturnResponse();
// TODO: refactor this into a jo handler class, so we don't have to repeat for control center /*
// set jo status to cancelled // set jo status to cancelled
// TODO: set reason // TODO: set reason
$jo->setStatus(JOStatus::CANCELLED) $jo->setStatus(JOStatus::CANCELLED)
@ -490,6 +489,9 @@ class RAPIController extends Controller
// make rider available // make rider available
$this->session->getRider()->setAvailable(true); $this->session->getRider()->setAvailable(true);
*/
$jo->cancel("rider cancelled");
$em->flush(); $em->flush();

View file

@ -653,4 +653,17 @@ class JobOrder
{ {
return $this->trade_in_type; return $this->trade_in_type;
} }
public function cancel($reason)
{
// set status to cancelled
$this->setStatus(JOStatus::CANCELLED)
->setDateCancel(new DateTime())
->setCancelReason($reason);
// set rider available
$rider = $obj->getRider();
if ($rider != null)
$rider->setAvailable();
}
} }