feat(email-blast): perbarui tampilan dan logika pengiriman email blast

- Tambahkan pengambilan data penerima dari model Customer.
- Modifikasi konstruktor EmailBlastMail untuk menerima objek penerima.
- Perbarui tampilan email blast untuk menampilkan subjek dan nama penerima.
- Tambahkan styling baru untuk tampilan email agar lebih menarik.
This commit is contained in:
Daeng Deni Mardaeni
2025-02-18 21:35:51 +07:00
parent a54f32dc16
commit ec56dcbc75
3 changed files with 65 additions and 11 deletions

View File

@@ -8,6 +8,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
use Modules\Webstatement\Models\Customer;
use Modules\Webstatement\Models\EmailBlastHistory;
use Modules\Webstatement\Mail\EmailBlastMail;
@@ -27,9 +28,11 @@ class SendEmailBlast implements ShouldQueue
public function handle()
{
foreach ($this->recipients as $recipient) {
Mail::to($recipient)->send(new EmailBlastMail($this->emailBlastHistory));
$_receipent = Customer::where('email', $recipient)->first();
Mail::to($recipient)->send(new EmailBlastMail($this->emailBlastHistory, $_receipent));
}
$this->emailBlastHistory->update(['status' => 'completed']);
}
}

View File

@@ -12,10 +12,12 @@ class EmailBlastMail extends Mailable
use Queueable, SerializesModels;
public $emailBlastHistory;
public $recipient;
public function __construct(EmailBlastHistory $emailBlastHistory)
public function __construct(EmailBlastHistory $emailBlastHistory, $recipient)
{
$this->emailBlastHistory = $emailBlastHistory;
$this->recipient = $recipient;
}
public function build()
@@ -23,7 +25,9 @@ class EmailBlastMail extends Mailable
return $this->subject($this->emailBlastHistory->subject)
->view('webstatement::emails.blast')
->with([
'content' => $this->emailBlastHistory->content
'content' => $this->emailBlastHistory->content,
'subject' => $this->emailBlastHistory->subject,
'recipient' => $this->recipient->name,
]);
}
}