Fix BillpplzTransactionSummaryController cont'd
This commit is contained in:
@@ -33,36 +33,29 @@ class BillplzTransactionSummaryController extends Controller
|
||||
|
||||
$billIds = $transactionData->map(fn($x) => ['bill_id' => $x['bill_id'], 'account_own_by' => $x['account_own_by']]);
|
||||
|
||||
$billIds = $billIds->chunk(40);
|
||||
|
||||
$queryBillIdsURL = $billIds->map(fn($x) => url(config('api.url_arrahn_portal') . '/api/billplz', ['bill_ids' => json_encode($x)]));
|
||||
$billIds = $billIds->chunk(50);
|
||||
|
||||
$queryBillIdsURL = $billIds->map(fn($x) => config('api.url_arrahn_portal') . '/api/billplz?bill_ids=' . json_encode($x));
|
||||
|
||||
$getBillplzPromise = function($url){
|
||||
return Http::async()->get($url);
|
||||
};
|
||||
|
||||
$resolveBillplzPromise = function($promise){
|
||||
$billplzBillsPromise = $promise->wait()->json();
|
||||
|
||||
if($billplzBillsPromise->failed()) {
|
||||
|
||||
Log::error("ArrahnPay Portal API request failed for URL: {$$billplzBillsPromise->effectiveUri()->__toString()}", [
|
||||
'status' => $billplzBillsPromise->status(),
|
||||
'body' => $billplzBillsPromise->body(),
|
||||
]);
|
||||
|
||||
abort( response('Portal ArrahnPay kemungkinan tidak beroperasi. Waktu Operasi Portal ArrahnPay adalah dari 7.30 AM hingga 11.30 PM', 503) );
|
||||
|
||||
}
|
||||
|
||||
return $billplzBillsPromise;
|
||||
|
||||
try{
|
||||
$billplzBillsPromise = $promise->wait()->json();
|
||||
}catch(\Exception $e){
|
||||
Log::error("ArrahnPay Portal API request failed for URL: {$$billplzBillsPromise->effectiveUri()->__toString()}", [
|
||||
'error' => $e->getMessage(),
|
||||
]);
|
||||
|
||||
abort( response('Portal ArrahnPay kemungkinan tidak beroperasi. Waktu Operasi Portal ArrahnPay adalah dari 7.30 AM hingga 11.30 PM', 503) );
|
||||
}
|
||||
|
||||
return $billplzBillsPromise;
|
||||
};
|
||||
|
||||
$queryBillIdsURL = $queryBillIdsURL->map(fn($x) => $getBillplzPromise($x))
|
||||
->map(fn($x) => $resolveBillplzPromise($x));
|
||||
|
||||
dd($queryBillIdsURL->all());
|
||||
|
||||
$mergeBillplzResponse = function($externalArray) {
|
||||
$merged = [];
|
||||
@@ -80,7 +73,10 @@ class BillplzTransactionSummaryController extends Controller
|
||||
return array_map('array_values', $merged);
|
||||
};
|
||||
|
||||
$billplzBillsResponse = $billIds->map(fn($x) => $getBillplzResponse($x));
|
||||
$billplzBillsResponse = $queryBillIdsURL->map(fn($x) => $getBillplzPromise($x))
|
||||
->map(fn($x) => $resolveBillplzPromise($x))
|
||||
->all();
|
||||
|
||||
$billplzBills = $mergeBillplzResponse($billplzBillsResponse);
|
||||
|
||||
$data = array_map(fn($x, $y) => $this->processBillplzBills($x, $y), $billplzBills, [$transactionDataKOOP, $transactionDataPKB]);
|
||||
|
||||
Reference in New Issue
Block a user