refactor(webstatement): perbaiki pembentukan logika, struktur kode, dan validasi parameter pada SendStatementEmailCommand
- **Perbaikan Struktur Kode:** - Melakukan perapihan kode dengan konsistensi indentasi dan penyusunan namespace. - Memisahkan logika kompleks dan mengorganisasi ulang kode untuk meningkatkan keterbacaan. - Menambahkan namespace `InvalidArgumentException`. - **Peningkatan Validasi:** - Menambahkan validasi komprehensif untuk parameter `period`, `type`, `--account`, dan `--branch`. - Validasi lebih spesifik untuk memastikan account atau branch terkait sesuai kebutuhan. - Memberikan pesan error informatif ketika validasi gagal. - **Peningkatan Metode Utility:** - Menambahkan metode `validateParameters` untuk menangani berbagai skenario validasi input. - Menambahkan metode `determineRequestTypeAndTarget` untuk memisahkan logika penentuan tipe request. - Memperbarui metode `createLogEntry` untuk menyesuaikan atribut log dengan lebih baik berdasarkan request type. - **Perbaikan Feedback Pengguna:** - Menampilkan informasi yang lebih rinci terkait status pengiriman email, seperti parameter validasi, log ID, dan batch ID. - Memberikan panduan untuk monitoring queue melalui command. - **Penanganan Error dan Logging:** - Menambahkan logging detail untuk error yang terjadi dalam proses pengiriman email. - Memastikan rollback jika terjadi kegagalan selama proses dispatch job. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -5,10 +5,11 @@ namespace Modules\Webstatement\Console;
|
||||
use Exception;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Modules\Basicdata\Models\Branch;
|
||||
use Modules\Webstatement\Jobs\SendStatementEmailJob;
|
||||
use Modules\Webstatement\Models\Account;
|
||||
use Modules\Webstatement\Models\PrintStatementLog;
|
||||
use Modules\Basicdata\Models\Branch;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Command untuk mengirim email statement PDF ke nasabah
|
||||
@@ -182,7 +183,7 @@ class SendStatementEmailCommand extends Command
|
||||
case 'all':
|
||||
return ['all_branches', null];
|
||||
default:
|
||||
throw new \InvalidArgumentException("Invalid type: {$type}");
|
||||
throw new InvalidArgumentException("Invalid type: {$type}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user