mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-24 06:54:26 +00:00
Order APIs & Unity services
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Processors;
|
||||
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
||||
use App\Classes\Modules\OrderSteps\Processors\UpdateOrderStepsProcessor;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Classes\Modules\OrderSteps\Services\CreatesManyOrderSteps;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Classes\Modules\Unity\Processors\GetContractObligationsProcessor;
|
||||
use App\Models\Order;
|
||||
use App\Models\OrderStep;
|
||||
use App\Classes\Jobs\UnityLogin;
|
||||
use Config;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
|
||||
class GenerateOrderStepsProcessor
|
||||
{
|
||||
private $updatesOrderCurrentStep;
|
||||
|
||||
private $createsManyOrderStep;
|
||||
|
||||
private $unityConfig;
|
||||
|
||||
private $updateOrderStepProcessors;
|
||||
|
||||
private $getContractObligationsProcessor;
|
||||
|
||||
public function __construct(UpdatesOrderCurrentStepProcessor $updatesOrderCurrentStep, CreatesManyOrderSteps $createsManyOrderStep, UpdateOrderStepsProcessor $updateOrderStepProcessors, GetContractObligationsProcessor $getContractObligationsProcessor)
|
||||
{
|
||||
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
|
||||
$this->unityConfig = Config::get('unity');
|
||||
$this->createsManyOrderStep = $createsManyOrderStep;
|
||||
$this->updateOrderStepProcessors = $updateOrderStepProcessors;
|
||||
$this->getContractObligationsProcessor = $getContractObligationsProcessor;
|
||||
}
|
||||
|
||||
public function execute(Order $order){
|
||||
|
||||
$obligations = $this->getContractObligationsProcessor->execute();
|
||||
|
||||
foreach($obligations as $step){
|
||||
$orderSteps[] = new OrderStepsObject(
|
||||
$order->id,
|
||||
1,
|
||||
$step->name,
|
||||
true,
|
||||
$step->sequence,
|
||||
0,
|
||||
0,
|
||||
null
|
||||
);
|
||||
}
|
||||
|
||||
$this->createsManyOrderStep->execute($order, $orderSteps);
|
||||
|
||||
$this->updatesOrderCurrentStep->execute($order->id, OrderSteps::PACKING);
|
||||
|
||||
$this->updateOrderStepProcessors->execute(OrderSteps::PROCESSING);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user