feat(Mail template & Membership relationship)
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Models\Member;
|
||||
use App\Models\NotificationTemplate;
|
||||
use App\Notifications\SubscriptionExpiredPhase1;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Queue\Queueable;
|
||||
@@ -11,22 +12,21 @@ class SendSubscriptionExpiredPhase1Notifications implements ShouldQueue
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
public function __construct() {}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
Member::isExpired()
|
||||
->chunk(100, function ($members) {
|
||||
$template = NotificationTemplate::findByIdentifier('subscription_expired_phase1');
|
||||
|
||||
if (! $template) {
|
||||
return;
|
||||
}
|
||||
|
||||
Member::query()
|
||||
->whereHas('memberships', fn ($query) => $query->where('status', 'expired'))
|
||||
->chunk(100, function ($members) use ($template) {
|
||||
foreach ($members as $member) {
|
||||
$member->notify(new SubscriptionExpiredPhase1());
|
||||
$member->notify(new SubscriptionExpiredPhase1($template));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user