Fix calculation of billplz transaction summary

This commit is contained in:
Afiq Hamzah
2024-08-13 13:20:02 +08:00
parent f2b7168252
commit a69402f68a
2 changed files with 36 additions and 29 deletions
@@ -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'));
}
}