2022-11-19 04:37:18 +00:00
|
|
|
<?php
|
|
|
|
|
2023-01-13 14:11:56 +00:00
|
|
|
namespace App\Jobs\Module;
|
2022-11-19 04:37:18 +00:00
|
|
|
|
2023-01-13 14:11:56 +00:00
|
|
|
use App\Jobs\Job;
|
2022-11-19 04:37:18 +00:00
|
|
|
use App\Models\Module;
|
2023-01-13 14:11:56 +00:00
|
|
|
use App\Notifications\Modules\ModuleEarnings;
|
2022-11-19 04:37:18 +00:00
|
|
|
|
2022-12-28 13:17:54 +00:00
|
|
|
class SendModuleEarningsJob extends Job
|
2022-11-19 04:37:18 +00:00
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Create a new job instance.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Execute the job.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
2022-12-11 12:59:17 +00:00
|
|
|
public function handle(): void
|
2022-11-19 04:37:18 +00:00
|
|
|
{
|
2023-01-10 13:42:27 +00:00
|
|
|
(new Module)->chunk(100, function ($modules) {
|
2022-11-19 04:37:18 +00:00
|
|
|
foreach ($modules as $module) {
|
|
|
|
(new ModuleEarnings($module))
|
|
|
|
->toGroup($module->calculate());
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|