From a69402f68a0a4813bb9e4be21467900c6229e2cd Mon Sep 17 00:00:00 2001 From: Afiq Hamzah Date: Tue, 13 Aug 2024 13:20:02 +0800 Subject: [PATCH] Fix calculation of billplz transaction summary --- .../BillplzTransactionSummaryController.php | 8 +-- .../index.blade.php | 57 +++++++++++-------- 2 files changed, 36 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/BillplzTransactionSummaryController.php b/app/Http/Controllers/BillplzTransactionSummaryController.php index 66e64d5..daf94ee 100644 --- a/app/Http/Controllers/BillplzTransactionSummaryController.php +++ b/app/Http/Controllers/BillplzTransactionSummaryController.php @@ -15,14 +15,14 @@ class BillplzTransactionSummaryController extends Controller $transactionData = array_map(fn($x) => ['arrahn_transactions' => $x], $transactionData); $transactionData = collect($transactionData); - $billIds = $transactionData->pluck('arrahn_transactions.billplz_id'); + $billIds = $transactionData->keys(); $billplzBills = Http::get(config('api.url_arrahn_portal') . '/api/billplz', ['bill_ids' => json_encode($billIds)])->json(); $billplzBills = collect($billplzBills)->map(function($bill) { $bill['paid_amount_formatted'] = floatval($bill['paid_amount']['amount']) / 100; return $bill; }); - $sumOfArrahnTransactions = $transactionData->sum(fn($x) => $x['arrahn_transactions']['total_payment']); + $sumOfArrahnTransactions = $transactionData->sum(fn($x) => array_reduce($x['arrahn_transactions'], fn($carry, $item) => $carry + $item['total_payment'], 0)); $sumOfBillplzTransactions = collect($billplzBills)->sum(fn($x) => $x['paid_amount_formatted']); $numberOfArrahnTransactions = $transactionData->count(); @@ -35,7 +35,7 @@ class BillplzTransactionSummaryController extends Controller throw new \Exception("The number of items in transactionData and billplzBills must be the same."); } - $billPlzTransactionReview = $transactionData->zip($billplzBills)->map(function ($zippedItem) { + $billPlzTransactionSummary = $transactionData->zip($billplzBills)->map(function ($zippedItem) { [$transactionData, $billplzBill] = $zippedItem; $transactionData['billplz_bill'] = $billplzBill; @@ -44,7 +44,7 @@ class BillplzTransactionSummaryController extends Controller }); - return view('online.billplz-transaction-summary.index', compact( 'billPlzTransactionReview', 'sumOfArrahnTransactions', 'sumOfBillplzTransactions', 'paymentGatewayCost', 'numberOfArrahnTransactions', 'date')); + return view('online.billplz-transaction-summary.index', compact( 'billPlzTransactionSummary', 'sumOfArrahnTransactions', 'sumOfBillplzTransactions', 'paymentGatewayCost', 'numberOfArrahnTransactions', 'date')); } } diff --git a/resources/views/online/billplz-transaction-summary/index.blade.php b/resources/views/online/billplz-transaction-summary/index.blade.php index a1f5c00..92ecfe8 100644 --- a/resources/views/online/billplz-transaction-summary/index.blade.php +++ b/resources/views/online/billplz-transaction-summary/index.blade.php @@ -10,23 +10,28 @@
- + -
- -
-
- -
=
- -
-
-
- -
x
- -
=
- - +
+
+
+ +
-
+ +
=
+ +
+
+
+ +
x
+ +
=
+ +
+
@@ -35,33 +40,35 @@ - @forelse ($billPlzTransactionReview as $data) + @forelse ($billPlzTransactionSummary as $data) -
-
+ @foreach ($data['arrahn_transactions'] as $arrahn_transaction) +
+

status : {{ $data['arrahn_transactions']['status'] }} + class="inline-block bg-green-600 text-white px-2 py-0.5 rounded text-xs font-medium">{{ $arrahn_transaction['status'] }}
total_payment: - {{ number_format((float) $data['arrahn_transactions']['total_payment'], 2, '.', '') }}
- norujukan: {{ $data['arrahn_transactions']['norujukan'] }} + {{ number_format((float) $arrahn_transaction['total_payment'], 2, '.', '') }}
+ norujukan: {{ $arrahn_transaction['norujukan'] }}


- kodcaw: {{ $data['arrahn_transactions']['kodcaw'] }}
- customer_name: {{ $data['arrahn_transactions']['customer_name'] }}
+ kodcaw: {{ $arrahn_transaction['kodcaw'] }}
+ customer_name: {{ $arrahn_transaction['customer_name'] }}


+
-
+ @endforeach