Files
webstatement/app/Providers/BalanceServiceProvider.php
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

32 lines
673 B
PHP

<?php
namespace Modules\Webstatement\Providers;
use Illuminate\Support\ServiceProvider;
use Modules\Webstatement\Services\AccountBalanceService;
class BalanceServiceProvider extends ServiceProvider
{
/**
* Register the service provider.
*
* @return void
*/
public function register(): void
{
$this->app->singleton(AccountBalanceService::class, function ($app) {
return new AccountBalanceService();
});
}
/**
* Get the services provided by the provider.
*
* @return array<string>
*/
public function provides(): array
{
return [AccountBalanceService::class];
}
}