feat(webstatement): tambah pemrosesan data ATM Transaction
- Menambahkan job `ProcessAtmTransactionJob` untuk memproses data transaksi ATM dari file CSV. - Implementasi pemrosesan file CSV termasuk pembacaan, pemetaan header, dan simpan data ke model. - Menyediakan logging untuk pemantauan jumlah data yang diproses dan jumlah error. - Menambahkan mekanisme penanganan error pada setiap proses baris dan file. - Menambahkan model `AtmTransaction`: - Mendeklarasikan atribut yang bisa diisi (`fillable`) seperti `transaction_id`, `txn_amount`, dan lainnya. - Mendefinisikan tipe data casting untuk beberapa atribut seperti `txn_amount` dalam tipe decimal dan `booking_date` dalam tipe datetime. - Menambahkan migration `2025_05_21_150736_create_atm_transactions_table` untuk tabel `atm_transactions`: - Tabel memiliki kolom seperti `transaction_id`, `txn_amount`, `booking_date`, dan indeks untuk kolom tertentu. - Meng-handle struktur kolom untuk mendukung atribut yang diperlukan di model. - Memperbarui `MigrasiController`: - Menambahkan fungsi `ProcessAtmTransaction` untuk menjadwalkan `ProcessAtmTransactionJob`. - Memperbaiki pesan response pada beberapa fungsi agar lebih deskriptif dan konsisten. - Memperbarui pemanggilan fungsi dari `__invoke` di bagian pemrosesan data (`ProcessAtmTransaction`) untuk period tertentu. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
45
app/Models/AtmTransaction.php
Normal file
45
app/Models/AtmTransaction.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Webstatement\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class AtmTransaction extends Model
|
||||
{
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'transaction_id',
|
||||
'card_acc_id',
|
||||
'pan_number',
|
||||
'txn_type',
|
||||
'merchant_id',
|
||||
'txn_amount',
|
||||
'booking_date',
|
||||
'trans_ref',
|
||||
'retrieval_ref_no',
|
||||
'stmt_nos',
|
||||
'debit_acct_no',
|
||||
'credit_acct_no',
|
||||
'chrg_amount',
|
||||
'value_date',
|
||||
'stan_no',
|
||||
'trans_status',
|
||||
'proc_code',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
* @var array<string, string>
|
||||
*/
|
||||
protected $casts = [
|
||||
'booking_date' => 'datetime',
|
||||
'value_date' => 'datetime',
|
||||
'txn_amount' => 'decimal:2',
|
||||
'chrg_amount' => 'decimal:2',
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user