DispatchResumeLiftJobCommand.php
1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace App\Console\Commands;
use App\Jobs\LiftResumeJob;
use App\Models\WorkerAutoliftOption;
use Illuminate\Console\Command;
class DispatchResumeLiftJobCommand extends Command
{
protected $signature ='resume:dispatch';
public function handle()
{
$now = now()->timezone('Europe/Moscow')->format('H:i');
$workers = WorkerAutoliftOption::query()
->where(function ($query) use ($now) {
$query->where('times_per_day', 1)
->where('time_send_first', $now);
})
->orWhere(function ($query) use ($now) {
$query->where('times_per_day', 2)
->where(function ($query) use ($now) {
$query->where('time_send_first', $now)
->orWhere('time_send_second', $now);
});
})
->orWhere(function ($query) use ($now) {
$query->where('times_per_day', 3)
->where(function ($query) use ($now) {
$query->where('time_send_first', $now)
->orWhere('time_send_second', $now)
->orWhere('time_send_third', $now);
});
})
->get();
LiftResumeJob::dispatch($workers->pluck('worker_id')->toArray());
return Command::SUCCESS;
}
}