mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-19 04:23:59 +00:00
32 lines
703 B
PHP
32 lines
703 B
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Orders\Services;
|
|
|
|
|
|
class GeneratesUniqueOrderNumber
|
|
{
|
|
|
|
/** @var ChecksIfOrderNumberExists */
|
|
private $checksIfOrderNumberExists;
|
|
|
|
/**
|
|
* GeneratesUniqueOrderNumber constructor.
|
|
* @param ChecksIfOrderNumberExists $checksIfOrderNumberExists
|
|
*/
|
|
public function __construct(ChecksIfOrderNumberExists $checksIfOrderNumberExists)
|
|
{
|
|
$this->checksIfOrderNumberExists = $checksIfOrderNumberExists;
|
|
}
|
|
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function execute(): int {
|
|
|
|
$number = mt_rand(100000001, 999999999);
|
|
return !$this->checksIfOrderNumberExists->execute($number) ? $number : self::execute();
|
|
|
|
}
|
|
|
|
} |