Files
izyim/app/Classes/Modules/Orders/Services/Steps/UpdatesOrderCurrentStep.php
T
Omair Saleh 43a9e0ca03 large commit
2019-05-18 12:14:31 +08:00

30 lines
849 B
PHP

<?php
namespace App\Classes\Modules\Orders\Services\Steps;
use App\Classes\Constants;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Models\Order;
use App\Models\OrderStep;
class UpdatesOrderCurrentStep
{
public function execute(OrderObject $order, StepObject $step){
$orderStep = OrderStep::where('order_id', $order->getOrderId())
->where('complete', 0)->orderBy('sequence')->first();
$nextStep = $orderStep ? $orderStep->reference_id : null;
$repository = order::findOrFail($order->getOrderId());
$repository->current_step = $nextStep;
if($nextStep === null && $step !== Constants::ORDER_PROCESSING_STEP){
$repository->complete = true;
}
$repository->save();
}
}