From 4edb60fdafbe4067f502aa106a00be7eec7a990d Mon Sep 17 00:00:00 2001 From: mhmj Date: Wed, 19 Jun 2019 10:34:35 +0800 Subject: [PATCH] schedule-update-delete-backend --- .../Orders/DeleteOrderScheduleLogic.php | 43 ++++++++++++++++ .../Orders/UpdateOrderScheduleLogic.php | 48 ++++++++++++++++++ .../Orders/Services/DeletesOrderSchedule.php | 44 ++++++++++++++++ .../Orders/Services/UpdateOrderSchedule.php | 50 +++++++++++++++++++ .../Orders/DeleteOrderScheduleController.php | 20 ++++++++ .../Orders/UpdateOrderScheduleController.php | 21 ++++++++ app/Http/Resources/Schedule.php | 1 + routes/api.php | 5 +- 8 files changed, 230 insertions(+), 2 deletions(-) create mode 100644 app/Classes/Modules/ControllersLogic/Orders/DeleteOrderScheduleLogic.php create mode 100644 app/Classes/Modules/ControllersLogic/Orders/UpdateOrderScheduleLogic.php create mode 100644 app/Classes/Modules/Orders/Services/DeletesOrderSchedule.php create mode 100644 app/Classes/Modules/Orders/Services/UpdateOrderSchedule.php create mode 100644 app/Http/Controllers/Orders/DeleteOrderScheduleController.php create mode 100644 app/Http/Controllers/Orders/UpdateOrderScheduleController.php diff --git a/app/Classes/Modules/ControllersLogic/Orders/DeleteOrderScheduleLogic.php b/app/Classes/Modules/ControllersLogic/Orders/DeleteOrderScheduleLogic.php new file mode 100644 index 0000000..04e33c3 --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Orders/DeleteOrderScheduleLogic.php @@ -0,0 +1,43 @@ +deletesOrderSchedule = $deletesOrderSchedule; + } + + + public function execute(String $scheduleId){ + + try{ + return $this->deletesOrderSchedule->execute($scheduleId); + return new JsonResponse([],HttpStatus::REQUEST_ACCEPTED); + + }catch(\Exception $exception){ + throw new InternalServerErrorException("Failed to delete schedule because {$exception->getMessage()}"); + } + + } +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderScheduleLogic.php b/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderScheduleLogic.php new file mode 100644 index 0000000..77da48e --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderScheduleLogic.php @@ -0,0 +1,48 @@ +updateOrderSchedule = $updateOrderSchedule; + } + + public function execute(String $scheduleId, Request $request){ + + try{ + $scheduleObject = new ScheduleObject($request->input('ETA'), $request->input('ETD'), + $request->input('type'), $request->input('issue_remark')); + + return $this->updateOrderSchedule->execute($scheduleId,$scheduleObject); + return new JsonResponse([],HttpStatus::REQUEST_ACCEPTED); + + }catch(\Exception $exception){ + throw new InternalServerErrorException("Failed to update schedule because {$exception->getMessage()}"); + } + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Orders/Services/DeletesOrderSchedule.php b/app/Classes/Modules/Orders/Services/DeletesOrderSchedule.php new file mode 100644 index 0000000..c7dd7f1 --- /dev/null +++ b/app/Classes/Modules/Orders/Services/DeletesOrderSchedule.php @@ -0,0 +1,44 @@ +repository = $repository; + } + + public function execute(String $scheduleId){ + + try{ + $schedule = $this->repository->findOrfail($scheduleId); + $schedule -> delete(); + return new JsonResponse([],HttpStatus::OK); + + }catch(\Exception $exception){ + throw new InternalServerErrorException("Failed to delete schedule because {$exception->getMessage()}"); + } + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Orders/Services/UpdateOrderSchedule.php b/app/Classes/Modules/Orders/Services/UpdateOrderSchedule.php new file mode 100644 index 0000000..353cbae --- /dev/null +++ b/app/Classes/Modules/Orders/Services/UpdateOrderSchedule.php @@ -0,0 +1,50 @@ +repository = $repository; + } + + public function execute(String $scheduleId, ScheduleObject $schedule){ + try{ + + $repository = $this->repository->findOrFail($scheduleId); + $repository->ETD = $schedule->getETD(); + $repository->ETA = $schedule->getETA(); + $repository->issue_remark = $schedule->getIssue(); + $repository->save(); + return new JsonResponse([],HttpStatus::OK); + + }catch(\Exception $exception){ + throw new InternalServerErrorException("Failed to update schedule because {$exception->getMessage()}"); + } + + + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Orders/DeleteOrderScheduleController.php b/app/Http/Controllers/Orders/DeleteOrderScheduleController.php new file mode 100644 index 0000000..1d4a84b --- /dev/null +++ b/app/Http/Controllers/Orders/DeleteOrderScheduleController.php @@ -0,0 +1,20 @@ +execute($scheduleId); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Orders/UpdateOrderScheduleController.php b/app/Http/Controllers/Orders/UpdateOrderScheduleController.php new file mode 100644 index 0000000..4791529 --- /dev/null +++ b/app/Http/Controllers/Orders/UpdateOrderScheduleController.php @@ -0,0 +1,21 @@ +execute($scheduleId,$request); + } + +} \ No newline at end of file diff --git a/app/Http/Resources/Schedule.php b/app/Http/Resources/Schedule.php index f343b2e..2957282 100644 --- a/app/Http/Resources/Schedule.php +++ b/app/Http/Resources/Schedule.php @@ -16,6 +16,7 @@ class Schedule extends JsonResource public function toArray($request) { return [ + 'id' => (int)$this->id, 'ETD' => carbon::parse($this->ETD)->format('d-m-Y'), 'ETA' => carbon::parse($this->ETA)->format('d-m-Y'), 'status' => (int)$this->status, diff --git a/routes/api.php b/routes/api.php index bbb7047..2bc3db1 100644 --- a/routes/api.php +++ b/routes/api.php @@ -138,12 +138,13 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function Route::post('/{orderId}/delivery-arrangement', 'UpdateDeliveryArrangementController@update')->name('delivery.update'); }); - - Route::post('/{orderId}/address','UpdateOrderAddressController@update')->name('address.order.update'); Route::post('/{orderId}/update-receive-note', 'UpdateReceiveNoteController@update')->name('receive.note.update'); + Route::post('/{scheduleId}/update-order-schedule','UpdateOrderScheduleController@update')->name('schedule.update'); + + Route::delete('/{scheduleId}/delete-order-schedule','DeleteOrderScheduleController@delete')->name('schedule.delete'); }); // Service Routes