Files
erahn-click/app/Services/BayaranHistoryService.php
T

50 lines
1.3 KiB
PHP

<?php
namespace App\Services;
use App\Models\CompanyStatus;
use Illuminate\Http\Client\Pool;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Http;
class BayaranHistoryService
{
public $norujukan;
public function __construct($norujukan) {
$this->norujukan = $norujukan;
}
public function getBayaranHistory($tagsyarikat)
{
$CallableHttp = $tagsyarikat == CompanyStatus::COM_PKB
? Http::arrahn()
: Http::arrahn_koop();
$bayaranHistory = $CallableHttp->get('/api/transaction/'. $this->norujukan)->json();
$formatBayaranHistoryData = function ($x) use($tagsyarikat) {
if (sizeof($x) === 0) {
return $x;
}
$formatDate = fn($x) => Carbon::parse($x)->format('d/m/Y');
$setResitAnsuranLink = fn($x) => route("resit.ansuran", ['id' => $x, 'company' => $tagsyarikat]);
return array_map(function ($y) use ($formatDate, $setResitAnsuranLink) {
$y['created_at'] = $formatDate($y['created_at']);
$y['resit_ansuran_link'] = $setResitAnsuranLink($y['id']);
return $y;
}, $x);
};
return $formatBayaranHistoryData($bayaranHistory);
}
public static function from($norujukan)
{
return new static($norujukan);
}
}