This commit is contained in:
Adrian Hopek
2022-03-29 15:13:10 +02:00
parent 93f0151b14
commit 3c43f6814d
28 changed files with 176 additions and 144 deletions

View File

@@ -8,6 +8,7 @@ use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Carbon;
use Toby\Domain\Actions\CreateYearPeriodAction;
use Toby\Eloquent\Models\YearPeriod;
class CheckYearPeriod implements ShouldQueue
@@ -15,30 +16,17 @@ class CheckYearPeriod implements ShouldQueue
use Dispatchable;
use Queueable;
public function handle(): void
public function handle(CreateYearPeriodAction $createYearPeriodAction): void
{
$currentYearPeriod = YearPeriod::current();
$now = Carbon::now();
if ($currentYearPeriod === null) {
$this->createCurrentYearPeriod();
$createYearPeriodAction->execute($now->year);
}
if (YearPeriod::query()->max("year") === Carbon::now()->year) {
$this->createNextYearPeriod();
if (YearPeriod::query()->max("year") === $now->year) {
$createYearPeriodAction->execute($now->year + 1);
}
}
protected function createCurrentYearPeriod(): void
{
YearPeriod::query()->create([
"year" => Carbon::now()->year,
]);
}
protected function createNextYearPeriod(): void
{
YearPeriod::query()->create([
"year" => Carbon::now()->year + 1,
]);
}
}