Files
izyim/app/Classes/Modules/Orders/Services/CompletesOrderStep.php
T
2019-03-19 17:11:21 +08:00

44 lines
923 B
PHP
Executable File

<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
use App\Models\Order;
class CompletesOrderStep {
/** @var Order */
private $repository;
/**
* CompletesOrderStep constructor.
* @param Order $repository
*/
public function __construct(Order $repository)
{
$this->repository = $repository;
}
/**
* @param OrderObject $order
* @param StepObject $step
*/
public function execute(OrderObject $order, StepObject $step){
/** @var Order $repository */
$repository = $this->repository->findOrFail($order->getOrderId());
$orderStep = $repository->orderSteps()->where('reference_id', $step->getReferenceId())->firstOrFail();
$orderStep->complete = 1;
$orderStep->save();
}
}