From 994f7347b53196e2a7b3a76c166f42f4827cc7f7 Mon Sep 17 00:00:00 2001 From: Afiq Hamzah Date: Thu, 27 Mar 2025 14:47:07 +0800 Subject: [PATCH] Fix transaction summary not showing --- .../BillplzTransactionSummaryController.php | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/BillplzTransactionSummaryController.php b/app/Http/Controllers/BillplzTransactionSummaryController.php index 2d8b270..143b8f6 100644 --- a/app/Http/Controllers/BillplzTransactionSummaryController.php +++ b/app/Http/Controllers/BillplzTransactionSummaryController.php @@ -12,18 +12,27 @@ class BillplzTransactionSummaryController extends Controller $date = $request->selectedDate ?? Carbon::now()->toDateString(); $transactionDataPKB = collect( Http::arrahn()->get('/api/transaction/online/query', ['date' => $date, 'status' => 'paid'])->json() ); + $transactionDataPKB = $transactionDataPKB->map(function($x){ + $x['account_own_by'] = 'KOOP'; + return $x; + }); + $transactionDataKOOP = collect( Http::arrahn_koop()->get('/api/transaction/online/query', ['date' => $date, 'status' => 'paid'])->json() ); + $transactionDataKOOP = $transactionDataKOOP->map(function($x){ + $x['account_own_by'] = 'PKB'; + return $x; + }); + $transactionData = $transactionDataPKB->merge($transactionDataKOOP); $transactionDataPKB = $this->processArrahnTransactions($transactionDataPKB); $transactionDataKOOP = $this->processArrahnTransactions($transactionDataKOOP); $transactionData = $this->processArrahnTransactions($transactionData); - $billIds = $transactionData->keys(); - $billIds = $billIds->toArray(); + $billIds = $transactionData->map(fn($x) => ['bill_id' => $x['bill_id'], 'account_own_by' => $x['account_own_by']]); $billplzBills = Http::get(config('api.url_arrahn_portal') . '/api/billplz', ['bill_ids' => json_encode($billIds)])->json(); - $data = array_map(fn($x, $y) => $this->processBillplzBills($x, $y), $billplzBills, [$transactionDataPKB, $transactionDataKOOP]); + $data = array_map(fn($x, $y) => $this->processBillplzBills($x, $y), $billplzBills, [$transactionDataPKB, $transactionDataKOOP]); [$billPlzTransactionSummaryPKB, $billPlzTransactionSummaryKOOP] = $data; @@ -38,6 +47,11 @@ class BillplzTransactionSummaryController extends Controller })->toArray(); $transactionData = array_map(fn($x) => ['arrahn_transactions' => $x], $transactionData); + $transactionData = array_map(function($x){ + $x['bill_id'] = current($x['arrahn_transactions'])['billplz_id']; + $x['account_own_by'] = current($x['arrahn_transactions'])['account_own_by']; + return $x; + }, $transactionData); $transactionData = collect($transactionData); return $transactionData; @@ -45,8 +59,9 @@ class BillplzTransactionSummaryController extends Controller public function processBillplzBills($bills_group, $transactionData) { + $bills_group = collect($bills_group)->map(function($bill) { - $bill['paid_amount_formatted'] = floatval($bill['paid_amount']['amount']) / 100; + $bill['paid_amount_formatted'] = floatval($bill['paid_amount']['amount']) / 100; return $bill; });