mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 12:34:18 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 061d7fdc94 | |||
| 4274e84b59 |
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\ControllersLogic;
|
||||
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||
use App\Classes\Modules\Orders\Services\CancelsOrder;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\Orders\Services\FetchOwnerCompanyConnection;
|
||||
use App\Classes\Modules\Orders\Services\UpdateOwnerReference;
|
||||
use App\Http\Resources\OrderResource;
|
||||
use App\Http\Resources\PackingListResource;
|
||||
use App\Models\CompanyConnection;
|
||||
use App\Models\Order;
|
||||
use App\Models\PackingList;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ChangeOrderOwnerLogic extends AbstractControllerLogic
|
||||
{
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function notification():array {
|
||||
return [
|
||||
'title' => 'Changed order owner',
|
||||
'message' => 'You have successfully changed the owner'
|
||||
];
|
||||
}
|
||||
|
||||
/** @var Marking $marking */
|
||||
private $marking;
|
||||
|
||||
/** @param UpdateOwnerReference $updateOwnerReference*/
|
||||
private $updateOwnerReference;
|
||||
private $fetchOwnerCompanyConnection;
|
||||
|
||||
public function __construct(UpdateOwnerReference $updateOwnerReference, FetchOwnerCompanyConnection $fetchOwnerCompanyConnection)
|
||||
{
|
||||
$this->updateOwnerReference = $updateOwnerReference;
|
||||
$this->fetchOwnerCompanyConnection = $fetchOwnerCompanyConnection;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @return JsonResponse
|
||||
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||
*/
|
||||
protected function logic(Request $request): JsonResponse
|
||||
{
|
||||
$reference = $request->route('reference');
|
||||
|
||||
$packing = PackingList::where('reference', $reference)->get();
|
||||
|
||||
$companyConnection = $this->fetchOwnerCompanyConnection->execute($request->marking)->invitee->orders;
|
||||
|
||||
$order = $this->updateOwnerReference->execute($reference, $companyConnection);
|
||||
|
||||
return response()->json($packing,200);
|
||||
// return $this->resourceResponse(new PackingListResource($packing));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Models\CompanyConnection;
|
||||
class FetchOwnerCompanyConnection extends AbstractUpdateRecord
|
||||
{
|
||||
public function execute(string $marking)
|
||||
{
|
||||
return CompanyConnection::Where('invitee_reference',$marking)->first();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Models\PackingList;
|
||||
|
||||
class UpdateOwnerReference extends AbstractUpdateRecord
|
||||
{
|
||||
public function execute(string $reference, Object $owner)
|
||||
{
|
||||
foreach($owner as $owner) {
|
||||
PackingList::where('reference',$reference)->update(['owner_id' => $owner->id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Orders;
|
||||
|
||||
use App\Classes\Modules\Orders\ControllersLogic\ChangeOrderOwnerLogic;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\CompanyConnection;
|
||||
use App\Models\PackingList;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ChangeOrderOwnerController extends Controller
|
||||
{
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param ChangeOrderOwnerLogic $changeOrderOwnerLogic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function update(Request $request, ChangeOrderOwnerLogic $logic): JsonResponse
|
||||
{
|
||||
return $logic->execute($request);
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@ class OrderResource extends JsonResource
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'reference' => $this->reference,
|
||||
'identifier' => $this->id,
|
||||
'reference_contract' => (int) $this->type,
|
||||
'type' => (int) $this->type,
|
||||
'status' => (int) $this->status,
|
||||
|
||||
@@ -23,7 +23,7 @@ use PhpParser\Node\Expr\AssignOp\Mod;
|
||||
* Class CompanyModule
|
||||
* @package App\Models
|
||||
*
|
||||
* @property \App\Models\Company company_id
|
||||
* @property \App\Models\Company company_id
|
||||
* @property integer type
|
||||
* @property integer status
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -12,6 +12,7 @@ Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], f
|
||||
Route::post('/address/change/request', 'RequestChangeOrderAddressController@request')->name('address.change.request');
|
||||
Route::post('/update/{id}','UpdateOrderController@update')->name('reference.update');
|
||||
Route::put('/address/{id}/status/{status}', 'ApproveChangeOrderAddressController@approve')->name('address.status.update');
|
||||
Route::put('/update-marking/{reference}', 'ChangeOrderOwnerController@update')->name('orders.update.marking');
|
||||
|
||||
Route::post('/create-warehouse-packing-list', 'CreateWarehousePackingListController@create')->name('create.warehouse.packing_list');
|
||||
Route::post('/create-shipping-packing-list', 'CreateShippingPackingListController@create')->name('create.shipping.packing_list');
|
||||
|
||||
Reference in New Issue
Block a user