Files
erahn-click/app/Services/MarhunService.php
T
Afiq Hamzah d4573d78ac Codebase update
- Fix select sag to pay on multiple page not selected in checkout payment
- Fix marhun modal data not display
- Fix load upah tawarruq for jeniskeuntungan onepercent or asal
- Add exception when billplz credential is incorrectly entered
2024-07-19 09:11:25 +08:00

48 lines
1.4 KiB
PHP

<?php
namespace App\Services;
use Illuminate\Support\Facades\Http;
class MarhunService
{
public $norujukanList;
public function __construct($norujukanList) {
$this->norujukanList = $norujukanList;
}
public function getMarhunDetails()
{
$getMarhunDetails = function ($x) {
return Http::arrahn()->get('/api/marhun/' . $x)->json();
};
$getMarhunTypeFullName = function ($code) {
return Http::arrahn()->get('/api/jemas/nama_marhun', ['marhun' => $code['marhun']])->json()['descpt'];
};
$formatMarhunDetailData = function ($x) use($getMarhunTypeFullName) {
return array_map(function ($y) use ($getMarhunTypeFullName) {
$y['marhun'] = $getMarhunTypeFullName($y);
return $y;
}, $x);
};
$marhunDetailPipelines = [
fn($x) => array_map($getMarhunDetails, $x),
fn($x) => array_map(fn($y) => $x == null ? [] : $y, $x),
fn($x) => array_map(fn($y) => array_merge([], ...$y), $x),
fn($x) => array_map($formatMarhunDetailData, $x),
];
return array_reduce($marhunDetailPipelines, fn($x, $y) => $y($x), $this->norujukanList);
}
public static function from($norujukanList)
{
return new static($norujukanList);
}
}