From 6842e3f1dbd6d3f35b8ad0cf4c56d6f5ab666947 Mon Sep 17 00:00:00 2001 From: Haziq Danial Date: Tue, 7 Dec 2021 23:19:21 +0800 Subject: [PATCH] updated pakage remark - haziq --- .../Packages/CreatePackageRemarkLogic.php | 53 +++++++++++++++++++ ...ehouseReceiveListFromVTPortalProcessor.php | 8 +-- .../Packages/CreatePackageController.php | 6 +-- .../CreatePackageRemarkController.php | 14 +++++ app/Models/Package.php | 12 ++++- routes/packing_list.php | 3 ++ 6 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageRemarkLogic.php create mode 100644 app/Http/Controllers/PackingLists/Packages/CreatePackageRemarkController.php diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageRemarkLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageRemarkLogic.php new file mode 100644 index 00000000..b112d129 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageRemarkLogic.php @@ -0,0 +1,53 @@ + 'Created Package', + 'message' => 'You have successfully created a new Package' + ]; + } + + /** @var CreatesRemark */ + private $createsRemark; + + /** + * CreateContainerRemarkLogic constructor. + * @param CreatesRemark $createsRemark + */ + public function __construct(CreatesRemark $createsRemark, FetchesOrder $fetchesOrder) + { + $this->createsRemark = $createsRemark; + $this->fetchesOrder = $fetchesOrder; + } + + + public function logic(Request $request) : JsonResponse + { + $order = $this->fetchesOrder->execute(['id' => $request->route('id')]); + $object = new RemarkObject($request->input('content'), auth()->user()->id); + + $remark = $this->createsRemark->execute($order ,$object); + + return $this->resourceResponse(new OrderResource($order)); + } + +} diff --git a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php index d1eb8516..6b39e326 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php @@ -9,7 +9,7 @@ use App\Classes\Modules\Companies\Services\FetchesCompanyModule; use App\Classes\Modules\Orders\Processors\CreateOrderProcessor; use App\Classes\Modules\Orders\Services\FetchesDataFromVTPortal; use App\Classes\Modules\Orders\Services\FetchesOrder; -use App\Classes\Modules\PackingLists\ControllersLogic\Packages\CreatePackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\CreatePackageRemarkLogic; use App\Classes\Modules\PackingLists\DataTransferObjects\PackageObject; use App\Classes\Modules\PackingLists\DataTransferObjects\PackingListObject; use App\Classes\Modules\PackingLists\Services\FetchesPackingList; @@ -60,7 +60,7 @@ class FetchWarehouseReceiveListFromVTPortalProcessor /** @var CreatePackingListProcessor */ private $createPackingListProcessor; - /** @var CreatePackageLogic */ + /** @var CreatePackageRemarkLogic */ private $createPackage; /** @var CreatePackageProcessor */ @@ -82,12 +82,12 @@ class FetchWarehouseReceiveListFromVTPortalProcessor * @param CreateOrderProcessor $createOrderProcessor * @param FetchesPackingList $fetchesPakcingList * @param CreatePackingListProcessor $createPackingListProcessor - * @param CreatePackageLogic $createPackage + * @param CreatePackageRemarkLogic $createPackage * @param CreatePackageProcessor $createPackageProcessor * @param CreatesTransport $createsTransport * @param CreatesSchedule $createsSchedule */ - public function __construct(FetchesDataFromVTPortal $fetchesDataFRomVTPortal, CleansOldAddress $cleansOldAddress, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, FetchesCompanyModule $fetchesCompanyModule, FetchesOrder $fetchesOrder, CreateOrderProcessor $createOrderProcessor, FetchesPackingList $fetchesPakcingList, CreatePackingListProcessor $createPackingListProcessor, CreatePackageLogic $createPackage, CreatePackageProcessor $createPackageProcessor, CreatesTransport $createsTransport, CreatesSchedule $createsSchedule) + public function __construct(FetchesDataFromVTPortal $fetchesDataFRomVTPortal, CleansOldAddress $cleansOldAddress, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, FetchesCompanyModule $fetchesCompanyModule, FetchesOrder $fetchesOrder, CreateOrderProcessor $createOrderProcessor, FetchesPackingList $fetchesPakcingList, CreatePackingListProcessor $createPackingListProcessor, CreatePackageRemarkLogic $createPackage, CreatePackageProcessor $createPackageProcessor, CreatesTransport $createsTransport, CreatesSchedule $createsSchedule) { $this->fetchesDataFRomVTPortal = $fetchesDataFRomVTPortal; $this->cleansOldAddress = $cleansOldAddress; diff --git a/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php b/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php index a540ca51..05ea24dd 100644 --- a/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php +++ b/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\PackingLists\ControllersLogic\Packages\CreatePackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\CreatePackageRemarkLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -10,10 +10,10 @@ class CreatePackageController { /** * @param Request $request - * @param CreatePackageLogic $logic + * @param CreatePackageRemarkLogic $logic * @return JsonResponse */ - public function create(Request $request, CreatePackageLogic $logic): JsonResponse { + public function create(Request $request, CreatePackageRemarkLogic $logic): JsonResponse { return $logic->execute($request); } diff --git a/app/Http/Controllers/PackingLists/Packages/CreatePackageRemarkController.php b/app/Http/Controllers/PackingLists/Packages/CreatePackageRemarkController.php new file mode 100644 index 00000000..ea728a74 --- /dev/null +++ b/app/Http/Controllers/PackingLists/Packages/CreatePackageRemarkController.php @@ -0,0 +1,14 @@ +execute($request); + } +} diff --git a/app/Models/Package.php b/app/Models/Package.php index e78402f2..99315f63 100644 --- a/app/Models/Package.php +++ b/app/Models/Package.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Classes\General\Interfaces\Remarkable; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\PackingListType; use Carbon\Carbon; @@ -12,8 +13,9 @@ use Illuminate\Database\Eloquent\SoftDeletes; use Staudenmeir\EloquentHasManyDeep\HasManyDeep; use Staudenmeir\EloquentHasManyDeep\HasOneDeep; use Staudenmeir\EloquentHasManyDeep\HasRelationships; +use Illuminate\Database\Eloquent\Relations\MorphMany; -class Package extends AbstractModel +class Package extends AbstractModel implements Remarkable { use HasRelationships; use SoftDeletes; @@ -93,6 +95,14 @@ class Package extends AbstractModel return $this->hasOneDeep(Transport::class, [PackingList::class], ['id', ['owner_type', 'owner_id']], ['packing_list_id', null]); } + /** + * @return MorphMany + */ + public function remarks(): morphMany + { + return $this->morphMany(Remark::class, 'owner'); + } + /** * @param $query * @return mixed diff --git a/routes/packing_list.php b/routes/packing_list.php index cf5062cf..6d4a31a7 100644 --- a/routes/packing_list.php +++ b/routes/packing_list.php @@ -39,6 +39,9 @@ Route::group(['namespace' => 'PackingLists', 'as' => 'packing_list.', 'prefix' = Route::get('/inbound-custom-cleared', 'InboundCustomClearedController@list')->name('list.inbound.custom.cleared'); Route::put('/switch-packing-list/{id}', 'SwitchPackagePackingListController@switch')->name('switch.packing_list'); + Route::post('/{id}/remark/create', 'CreatePackageRemarkController@create')->name('remark.create'); + + Route::group(['namespace' => 'PackageItems', 'prefix' => 'item', 'as' => 'item.'], function () { Route::get('/{id}/show', 'FetchPackageItemController@fetch')->name('show'); Route::get('/list', 'ListPackageItemsController@list')->name('list');