Commit Graph

3 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
1ff4035b98 feat(balance): implementasi service layer untuk balance management
- Menambahkan `AccountBalanceService` dengan transaksi PostgreSQL dan proper error handling.
- Implementasi `BalanceServiceProvider` untuk mendukung dependency injection pattern.
- Registrasi `BalanceServiceProvider` dalam `WebstatementServiceProvider`.
- Penambahan `CAST` ke `DECIMAL(15,2)` untuk kompatibilitas PostgreSQL.
- Perhitungan balance summary mencakup opening balance dan closing balance.
- Agregasi transaksi dengan type casting yang aman.
- Implementasi database transaction handling dengan mekanisme rollback dan commit.
- Logging komprehensif untuk debugging dan audit trail.
- Mendukung balance inquiry berdasarkan tanggal maupun periode tertentu.
- Validasi akun dengan pengecekan `exists` untuk memastikan data valid.
2025-08-27 16:22:06 +07:00
Daeng Deni Mardaeni
0cbb7c9a3c feat(webstatement): tambahkan opsi abaikan validasi sertifikat SSL pada PHPMailer
- **Penyesuaian Konfigurasi PHPMailer**:
  - Menambahkan logika baru untuk mengabaikan validasi sertifikat SSL agar mendukung lingkungan yang menggunakan sertifikat self-signed atau tidak valid.
  - Menambahkan pengecekan properti konfigurasi `ignore_certificate_errors`.
  - Konfigurasi tambahan meliputi:
    - `verify_peer` diatur ke `false`.
    - `verify_peer_name` diatur ke `false`.
    - `allow_self_signed` diatur ke `true`.

- **Peningkatan Debugging**:
  - Mengaktifkan mode debug jika aplikasi dalam mode debug (`config('app.debug')`).

- **Tujuan Perubahan**:
  - Memfasilitasi pengelolaan email di lingkungan development atau pengujian.
  - Mendukung sertifikat SSL non-standar tanpa mengganggu fungsionalitas pengiriman email lainnya.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-11 13:52:55 +07:00
Daeng Deni Mardaeni
fabc35e729 feat(webstatement): tingkatkan proses pengiriman email dengan PHPMailer
- **Migrasi ke PHPMailer:**
  - Mengganti penggunaan `Illuminate\Support\Facades\Mail` ke PHPMailer untuk pengiriman email.
  - Menambahkan service baru `PHPMailerService` dengan dukungan autentikasi NTLM/GSSAPI.
  - Mengintegrasikan logika pengiriman email ke dalam `StatementEmail` menggunakan PHPMailer.
  - Memindahkan logika attachment dan body email ke helper method pada kelas `StatementEmail`.

- **Perbaikan Logging dan Penanganan Error:**
  - Menambah logging lebih mendetail pada proses pengiriman email, termasuk informasi seperti penerima, subjek, dan status pengiriman.
  - Menambahkan fallback untuk pembuatan konten HTML jika terjadi kegagalan rendering pada template Blade.
  - Menambahkan pengecekan dan logging untuk kegagalan pengiriman email dengan mekanisme exception handling.

- **Peningkatan Template Email:**
  - Memperbaiki elemen ulasan pada template email untuk mendukung tampilan yang lebih bersih menggunakan `list-style-type: none`.
  - Memodifikasi markup footer untuk memberikan batas terformat lebih baik.

- **Optimasi Proses Backend:**
  - Menambahkan delay antar pengiriman email untuk menghindari rate limiting pada koneksi NTLM/GSSAPI.
  - Menyediakan format nama attachment dinamis berdasarkan rekening dan periode laporan.
  - Memanfaatkan konfigurasi enkripsi dinamis, dengan fallback untuk pengujian/development.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-11 11:41:57 +07:00