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
$cancel_reason = $req->request->get('reason');
$jo->cancel($cancel_reason);
/*
$jo->setStatus(JOStatus::CANCELLED)
->setDateCancel(new DateTime())
->setCancelReason($cancel_reason);
*/
$em->flush();

View file

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

View file

@ -481,8 +481,7 @@ class RAPIController extends Controller
if ($res->isError())
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
// TODO: set reason
$jo->setStatus(JOStatus::CANCELLED)
@ -490,6 +489,9 @@ class RAPIController extends Controller
// make rider available
$this->session->getRider()->setAvailable(true);
*/
$jo->cancel("rider cancelled");
$em->flush();

View file

@ -653,4 +653,17 @@ class JobOrder
{
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();
}
}