merged main to feature split

This commit is contained in:
Hafifie PKB
2025-01-20 15:32:40 +08:00
40 changed files with 1407 additions and 329 deletions
+206 -30
View File
@@ -3,6 +3,8 @@
namespace App\Http\Controllers;
use App\Http\Requests\PaymentRequest;
use App\Models\CompanyStatus;
use App\Models\PersonalCarts;
use App\Models\TransactionOnlineStatus;
use App\Services\BillplzService;
use Carbon\Carbon;
@@ -13,25 +15,60 @@ use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use Money\Money;
use App\Services\OnlineTransactionLoggerService;
use Illuminate\Support\Facades\Session;
class BayaranController extends Controller
{
public $CallableHttp;
public function PembayaranAction(PaymentRequest $request)
{
$request->validated();
$exist_carts = $this->checkCarts();
$exist_carts = optional($exist_carts)->toArray();
if($exist_carts){
/* Do Have Carts. */
$list_pkb = json_decode($exist_carts['list_pkb'],true);
$list_koop = json_decode($exist_carts['list_koop'],true);
$arraybayar = $this->setUpahTawarruq($request->getPembiayaanFromNorujukan());
if($exist_carts['status_pkb'] == 'PENDING') $list_pkb = ($list_pkb) ? $this->setUpahTawarruq($list_pkb) : []; else $list_pkb = [];
if($exist_carts['status_koop'] == 'PENDING') $list_koop = ($list_koop) ? $this->setUpahTawarruq($list_koop) : []; else $list_koop = [];
return view('includes.bayaran.pembayaransag', compact('arraybayar'));
}else{
/* Doesn't Have Carts. First Timer */
$request->validated();
$arraybayar = $this->setUpahTawarruq($request->getPembiayaanFromNorujukan());
$list_pkb = array_filter(array_map(function ($x){
return ($x['tag_syarikat'] == CompanyStatus::COM_PKB) ? $x : null;
},$arraybayar));
$list_koop = array_filter(array_map(function ($x){
return ($x['tag_syarikat'] == CompanyStatus::COM_KOOPPKB) ? $x : null;
},$arraybayar));
$personal_carts = new PersonalCarts();
$personal_carts->ic_no = Auth::user()->icno;
$personal_carts->list_koop = json_encode($list_koop);
$personal_carts->list_pkb = json_encode($list_pkb);
$personal_carts->status_pkb = ($list_pkb) ? 'PENDING' : 'NONE';
$personal_carts->status_koop = ($list_koop) ? 'PENDING' : 'NONE';
$personal_carts->user_id = Auth::user()->id;
$personal_carts->save();
}
return view('includes.bayaran.pembayaransag', compact('list_pkb','list_koop'));
}
public function PembayaranEngine(Request $request, BillplzService $billplzService)
public function PembayaranEngine(Request $request)
{
['email' => $customerEmail, 'notel' => $customerPhoneNumber, 'name' => $customerName, 'icno' => $customerIcno] = auth()->user()->toArray();
$bayaranArrahn = array_filter($request->txtjenisbayaran, fn($x) => $x == 'arrahn');
$bayaranOthers = array_filter($request->txtjenisbayaran, fn($x) => $x != 'arrahn');
$bayaranArrahnArray = array_map(function ($x) use ($customerName, $customerIcno, $request) {
return [
'customer_name' => $customerName,
@@ -62,9 +99,14 @@ class BayaranController extends Controller
return Money::MYR($sum())->add($billPlzTransactionFee);
};
$bill = $billplzService->createBill([$customerEmail, $customerPhoneNumber, $customerName, $getPaymentSum()]);
$company = strtoupper($request->txtcompany);
$billplzService = new BillplzService($company);
$bill = $billplzService->createBill([$customerEmail, $customerPhoneNumber, $customerName, $getPaymentSum()],$company);
Session::put('company', $company);
$this->serviceCallHttp($company);
$isRecordTransactionSuccess = $this->recordTransaction($paymentArray, $bill);
$isRecordTransactionSuccess = $this->recordTransaction($paymentArray, $bill,$company);
if ($isRecordTransactionSuccess) {
session([
@@ -76,12 +118,12 @@ class BayaranController extends Controller
}
}
public function recordTransaction($paymentArray, $bill)
public function recordTransaction($paymentArray, $bill,$company = 'PKB')
{
['name' => $customerName, 'icno' => $customerIcno] = auth()->user()->toArray();
$getlatestNoSiri = function () {
$previous_siri = Http::arrahn()->get('/api/online/transaction')->json();
$previous_siri = $this->CallableHttp->get('/api/online/transaction')->json();
if ($previous_siri) {
return $previous_siri['nosiri'] + 1;
} else {
@@ -95,10 +137,13 @@ class BayaranController extends Controller
return 'APKB' . $day . $month . $year . sprintf('%08d', $getlatestNoSiri());
};
$serviceCallable = $company == 'PKB'
? fn(Pool $pool) => $pool->arrahn()
: fn(Pool $pool) => $pool->arrahn_koop();
try {
Http::pool(
fn(Pool $pool) => collect($paymentArray)->map(
fn($payment) => $pool->arrahn()->post('/api/online/transaction', [
fn($payment) => $serviceCallable($pool)->post('/api/online/transaction', [
'nokp' => $customerIcno,
'reference_no' => $generateTransactionReferenceNumber(),
'nosiri' => $getlatestNoSiri(),
@@ -122,7 +167,7 @@ class BayaranController extends Controller
}
try {
$response = Http::arrahn()
$response = $this->CallableHttp
->put('/api/transaction/online/tagportal', [
'billplz_id' => $bill['id'],
])
@@ -142,11 +187,12 @@ class BayaranController extends Controller
public function ResitBayaran(Request $request)
{
$this->serviceCallHttp(Session::get('company'));
$payment_details = $request->payment;
$kpbaru = Auth::User()->icno;
$customer = Http::arrahn()
$customer = $this->CallableHttp
->get('/api/customers/' . $kpbaru)
->json();
$customer_details = $customer;
@@ -155,16 +201,16 @@ class BayaranController extends Controller
$current = new Carbon();
$date = $current->toDateTimeString();
$cawangan_info = Http::arrahn()
$cawangan_info = $this->CallableHttp
->get('/api/cawangan/' . $payment_details['kodcaw'])
->json();
$cawangan = Http::arrahn()
$cawangan = $this->CallableHttp
->get('/api/cawangan/detail/' . $payment_details['kodcaw'])
->json();
$cawangan_detail = $cawangan[0];
$nama_cawangan = $cawangan_info['details_caw'];
$gadai_details = Http::arrahn()
$gadai_details = $this->CallableHttp
->get('/api/gadai/norujukan/' . $payment_details['norujukan'])
->json();
$gadai = $gadai_details[0][0];
@@ -172,14 +218,15 @@ class BayaranController extends Controller
return view('pembayaran.resit.resitportal', compact('customer_details', 'payment_details', 'cawangan_detail', 'nama_cawangan', 'gadai'));
}
public function callback(Request $request, BillplzService $billplzService)
public function callback(Request $request)
{
$billplzService = new BillplzService(Session::get('company'));
$data = $billplzService->webhook($request->toArray());
$isBillUnpaid = $data['paid'] !== true;
if ($isBillUnpaid) {
Http::arrahn()->put('/api/online/transaction', [
$this->CallableHttp->put('/api/online/transaction', [
'billplz_id' => $data['id'],
'status' => 'UNSUCCESSFUL',
'paid_at' => null,
@@ -188,29 +235,43 @@ class BayaranController extends Controller
return response(200);
}
Http::arrahn()->put('/api/online/transaction', [
$this->CallableHttp->put('/api/online/transaction', [
'billplz_id' => $data['id'],
'status' => 'PAID',
'paid_at' => $data['paid_at']->format('Y-m-d H:i:s'),
]);
$column_updated = (Session::get('company') == 'PKB') ? 'status_pkb' : 'status_koop';
$value_paid = 'PAID';
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PENDING')
->orWhere('status_koop', 'PENDING');
})
->update([
$column_updated => $value_paid,
]);
return response(200);
}
public function response(Request $request, BillplzService $billplzService)
public function response(Request $request)
{
$billplzService = new BillplzService(Session::get('company'));
$data = $billplzService->redirect($request->toArray());
$this->serviceCallHttp($billplzService->company);
$isBillUnpaid = $data['paid'] !== true;
if ($isBillUnpaid) {
Http::arrahn()->put('/api/online/transaction', [
$this->CallableHttp->put('/api/online/transaction', [
'billplz_id' => $data['id'],
'status' => 'NOT PAID',
'paid_at' => null,
]);
$transactionOnline = Http::arrahn()
$transactionOnline = $this->CallableHttp
->get('/api/transaction/online/login', [
'billplz_id' => $data['id'],
])
@@ -219,18 +280,33 @@ class BayaranController extends Controller
return redirect()->route('pay.failed');
}
Http::arrahn()->put('/api/online/transaction', [
$this->CallableHttp->put('/api/online/transaction', [
'billplz_id' => $data['id'],
'status' => 'PAID',
'paid_at' => $data['paid_at']->format('Y-m-d H:i:s'),
]);
$transactionOnline = Http::arrahn()
$column_updated = (Session::get('company') == 'PKB') ? 'status_pkb' : 'status_koop';
$value_paid = 'PAID';
$column_payment_updated = (Session::get('company') == 'PKB') ? 'payment_pkb' : 'payment_koop';
$transactionOnline = $this->CallableHttp
->get('/api/transaction/online/login', [
'billplz_id' => $data['id'],
])
->json();
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PENDING')
->orWhere('status_koop', 'PENDING');
})
->update([
$column_updated => $value_paid,
$column_payment_updated => json_encode($transactionOnline)
]);
return redirect()->route('pay.success', [
'transactionOnline' => $transactionOnline,
]);
@@ -238,23 +314,76 @@ class BayaranController extends Controller
public function successPayment(Request $request)
{
$this->serviceCallHttp(Session::get('company'));
$transactionOnline = $request->transactionOnline;
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PENDING')
->orWhere('status_koop', 'PENDING');
})
->first();
$exist_carts = optional($exist_carts)->toArray();
if(!$exist_carts){
$paid_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PAID')
->where('status_koop', 'PAID');
})
->first();
$paid_carts = optional($paid_carts)->toArray();
if($paid_carts){
$trans_pkb = json_decode($paid_carts['payment_pkb'],true);
$trans_koop = json_decode($paid_carts['payment_koop'],true);
$trans_pkb = array_map(function ($item) {
$item['tag_syarikat'] = CompanyStatus::COM_PKB;
return $item;
}, $trans_pkb);
$trans_koop = array_map(function ($item) {
$item['tag_syarikat'] = CompanyStatus::COM_KOOPPKB;
return $item;
}, $trans_koop);
$transactionOnline = array_merge($trans_pkb,$trans_koop);
$arraycawangan = array_map(
fn($x) => $x['tag_syarikat'] == CompanyStatus::COM_PKB
? Http::arrahn()
->get('/api/cawangan/detail/' . $x['kodcaw'])
->json()[0]
: Http::arrahn_koop()
->get('/api/cawangan/detail/' . $x['kodcaw'])
->json()[0],
$transactionOnline
);
return view('pembayaran.result.berjayaportal', compact('transactionOnline', 'arraycawangan','exist_carts'));
}
}
$arraygadai = array_map(
fn($x) => Http::arrahn()
fn($x) => $this->CallableHttp
->get('/api/gadai/norujukan/' . $x['norujukan'])
->json()[0][0],
$transactionOnline,
);
$arraycawangan = array_map(
fn($x) => Http::arrahn()
fn($x) => $this->CallableHttp
->get('/api/cawangan/detail/' . $x['kodcaw'])
->json()[0],
$transactionOnline,
);
return view('pembayaran.result.berjayaportal', compact('transactionOnline', 'arraycawangan', 'arraygadai'));
return view('pembayaran.result.berjayaportal', compact('transactionOnline', 'arraycawangan', 'arraygadai','exist_carts'));
}
public function failedPayment()
@@ -270,7 +399,7 @@ class BayaranController extends Controller
$auth_user = Auth::user();
$belum_tebus = Http::arrahn()
$belum_tebus = $this->CallableHttp
->get('/api/customers/' . $auth_user['icno'] . '/gadai/' . 'belum_tebus')
->json();
@@ -302,7 +431,11 @@ class BayaranController extends Controller
$getUpahTawarruqPerPembiayaan = function ($x) use ($getJenisKeuntungan) {
$jenisKeuntungan = $getJenisKeuntungan($x);
$upahTawarruq = Http::arrahn()
$CallableHttp = $x['tag_syarikat'] == CompanyStatus::COM_PKB
? Http::arrahn()
: Http::arrahn_koop();
$upahTawarruq = $CallableHttp
->get('/api/upahtawarruq/' . $x['kodcaw'] . '/' . $x['norujukan'], ['jeniskeuntungan' => $jenisKeuntungan])
->json();
@@ -319,4 +452,47 @@ class BayaranController extends Controller
return array_map($getUpahTawarruqPerPembiayaan, $pembiayaan);
}
public function checkCarts(){
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PENDING')
->orWhere('status_koop', 'PENDING');
})
->first();
return $exist_carts;
}
public function UserCheckCarts(){
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->where(function ($query) {
$query->where('status_pkb', 'PENDING')
->orWhere('status_koop', 'PENDING');
})
->first();
return response()->json($exist_carts);
}
public function removeCarts(){
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
->where('user_id', Auth::user()->id)
->first();
if ($exist_carts) {
$exist_carts->delete();
}
return response()->json($exist_carts);
}
public function serviceCallHttp($company){
$this->CallableHttp = $company == 'PKB'
? Http::arrahn()
: Http::arrahn_koop();
}
}
+31 -4
View File
@@ -30,11 +30,24 @@ class HomeController extends Controller
{
$homeUrl = route('home');
$authUser = Auth::user();
$customerInfo = Http::withOptions(['verify' => config('app.api_verify')])
$customer_pkb = Http::withOptions(['verify' => config('app.api_verify')])
->get(config('api.url') . '/portal/customer/info', ['ic' => $authUser['icno']])
->json();
['gadai' => $customer_gadai, 'lelong' => $customer_lelong] = $customerInfo;
$customer_koop = Http::withOptions(['verify' => config('app.api_verify')])
->get(config('api.url_koop') . '/portal/customer/info', ['ic' => $authUser['icno']])
->json();
// ['gadai' => $customer_gadai, 'lelong' => $customer_lelong] = $customerInfo;
$customer_gadai = array_merge(
$customer_pkb['gadai'] ?? [],
$customer_koop['gadai'] ?? []
);
$customer_lelong = array_merge(
$customer_pkb['lelong'] ?? [],
$customer_koop['lelong'] ?? []
);
// only get lelong that is harga jualan that is not null or 0
$customer_lelong = array_filter($customer_lelong, fn($x) => $x['hargajualan'] != null && $x['hargajualan'] != 0);
@@ -62,12 +75,26 @@ class HomeController extends Controller
$pembiayaan = $this->pembiayaanService->getPembiayaan($request->filter);
$authUser = Auth::user();
$customerInfo = Http::withOptions(['verify' => config('app.api_verify')])
$customer_pkb = Http::withOptions(['verify' => config('app.api_verify')])
->get(config('api.url') . '/portal/customer/info', ['ic' => $authUser['icno']])
->json();
['gadai' => $customer_gadai, 'lelong' => $customer_lelong] = $customerInfo;
$customer_koop = Http::withOptions(['verify' => config('app.api_verify')])
->get(config('api.url_koop') . '/portal/customer/info', ['ic' => $authUser['icno']])
->json();
// ['gadai' => $customer_gadai, 'lelong' => $customer_lelong] = $customerInfo;
$customer_gadai = array_merge(
$customer_pkb['gadai'] ?? [],
$customer_koop['gadai'] ?? []
);
$customer_lelong = array_merge(
$customer_pkb['lelong'] ?? [],
$customer_koop['lelong'] ?? []
);
// only get lelong that is harga jualan that is not null or 0
$customer_lelong = array_filter($customer_lelong, fn($x) => $x['hargajualan'] != null && $x['hargajualan'] != 0);
+89 -20
View File
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Models\CompanyStatus;
use App\Models\LelongBid;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -30,17 +31,29 @@ class InformationController extends Controller
{
$auth_user = Auth::User();
$CustomerInfo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_pkb = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_koop = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url_koop') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$pembiayaansemasa = [];
if(isset($CustomerInfo['gadai']))
{
$pembiayaansemasa = $CustomerInfo['gadai'];
if(isset($customer_pkb['gadai'])){
$pembiayaansemasa = array_map(function ($pkb) {
$pkb['tag_syarikat'] = CompanyStatus::COM_PKB;
return $pkb;
}, $customer_pkb['gadai']);
}
if(isset($CustomerInfo['lelong'])){
if(sizeof($CustomerInfo['lelong']) > 0){
foreach($CustomerInfo['lelong'] as $index=>$lelong){
if(isset($customer_koop['gadai'])){
$array_koop = array_map(function ($koop) {
$koop['tag_syarikat'] = CompanyStatus::COM_KOOPPKB;
return $koop;
}, $customer_koop['gadai']);
$pembiayaansemasa = array_merge($pembiayaansemasa,$array_koop);
}
if(isset($customer_pkb['lelong'])){
if(sizeof($customer_pkb['lelong']) > 0){
foreach($customer_pkb['lelong'] as $index=>$lelong){
$customer_pkb['lelong'][$index]['tag_syarikat'] = CompanyStatus::COM_KOOPPKB;
$array_lelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api-lelong.url') . '/api/portalApi',['norujukan' => $lelong['norujukan']])->json();
if($array_lelong === null){
@@ -48,13 +61,33 @@ class InformationController extends Controller
}
if($array_lelong['lelong'] !== null){
$CustomerInfo['lelong'][$index] = collect($lelong)->merge($array_lelong['lelong'])->toArray();
$customer_pkb['lelong'][$index] = collect($lelong)->merge($array_lelong['lelong'])->toArray();
}
}
$pembiayaansemasa = collect($pembiayaansemasa)->merge($CustomerInfo['lelong']);
$pembiayaansemasa = $pembiayaansemasa->toArray();
$pembiayaansemasa = collect($pembiayaansemasa)->merge($customer_pkb['lelong']);
$pembiayaansemasa = $pembiayaansemasa->toArray();
}
}
if(isset($customer_koop['lelong'])){
if(sizeof($customer_koop['lelong']) > 0){
foreach($customer_koop['lelong'] as $index=>$lelong){
$customer_koop['lelong'][$index]['tag_syarikat'] = CompanyStatus::COM_KOOPPKB;
$array_lelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api-lelong.url_koop') . '/api/portalApi',['norujukan' => $lelong['norujukan']])->json();
if($array_lelong === null){
continue;
}
if($array_lelong['lelong'] !== null){
$customer_koop['lelong'][$index] = collect($lelong)->merge($array_lelong['lelong'])->toArray();
}
}
$pembiayaansemasa = collect($pembiayaansemasa)->merge($customer_koop['lelong']);
$pembiayaansemasa = $pembiayaansemasa->toArray();
}
}
return response()->json($pembiayaansemasa,200);
// return view('includes.information.pembiayaanaktif',compact('pembiayaansemasa'));
}
@@ -63,14 +96,16 @@ class InformationController extends Controller
{
$auth_user = Auth::User();
$CustomerInfo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_pkb = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_koop = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url_koop') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$melebihi6bulan = [];
if(isset($CustomerInfo['gadai']))
if(isset($customer_pkb['gadai']))
{
foreach($CustomerInfo['gadai'] as $index=>$gadai)
foreach($customer_pkb['gadai'] as $index=>$gadai)
{
$gadai['tag_syarikat'] = CompanyStatus::COM_PKB;
if($gadai['tempoh'] >= 6)
{
array_push($melebihi6bulan,$gadai);
@@ -78,6 +113,21 @@ class InformationController extends Controller
}
}
if(isset($customer_koop['gadai']))
{
foreach($customer_koop['gadai'] as $index=>$gadai)
{
$gadai['tag_syarikat'] = CompanyStatus::COM_KOOPPKB;
if($gadai['tempoh'] >= 6)
{
array_push($melebihi6bulan,$gadai);
}
}
}
return response()->json($melebihi6bulan,200);
// return view('includes.information.melebihi6bulan',compact('melebihi6bulan'));
}
@@ -86,12 +136,13 @@ class InformationController extends Controller
{
$auth_user = Auth::User();
$CustomerInfo = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_pkb = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$customer_koop = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url_koop') .'/portal/customer/info',['ic' => $auth_user['icno']])->json();
$lelong = [];
if(isset($CustomerInfo['lelong'])){
if(sizeof($CustomerInfo['lelong']) > 0){
foreach($CustomerInfo['lelong'] as $index=>$lel){
if(isset($customer_pkb['lelong'])){
if(sizeof($customer_pkb['lelong']) > 0){
foreach($customer_pkb['lelong'] as $index=>$lel){
$array_lelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api-lelong.url') . '/api/portalApi',['norujukan' => $lel['norujukan']])->json();
if($array_lelong === null){
@@ -99,11 +150,29 @@ class InformationController extends Controller
}
if($array_lelong['lelong'] !== null){
$CustomerInfo['lelong'][$index] = collect($lel)->merge($array_lelong['lelong'])->toArray();
$customer_pkb['lelong'][$index] = collect($lel)->merge($array_lelong['lelong'])->toArray();
}
}
$lelong = collect($lelong)->merge($CustomerInfo['lelong']);
$lelong = $lelong->toArray();
$lelong = collect($lelong)->merge($customer_pkb['lelong']);
$lelong = $lelong->toArray();
}
}
if(isset($customer_koop['lelong'])){
if(sizeof($customer_koop['lelong']) > 0){
foreach($customer_koop['lelong'] as $index=>$lel){
$array_lelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api-lelong.url') . '/api/portalApi',['norujukan' => $lel['norujukan']])->json();
if($array_lelong === null){
continue;
}
if($array_lelong['lelong'] !== null){
$customer_koop['lelong'][$index] = collect($lel)->merge($array_lelong['lelong'])->toArray();
}
}
$lelong = collect($lelong)->merge($customer_koop['lelong']);
$lelong = $lelong->toArray();
}
}
+14 -1
View File
@@ -3,6 +3,7 @@
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
use Illuminate\Session\TokenMismatchException;
class VerifyCsrfToken extends Middleware
{
@@ -11,7 +12,19 @@ class VerifyCsrfToken extends Middleware
*
* @var array
*/
protected $except = [
protected $except = [
'/pembayaran/backend'
];
public function handle($request, \Closure $next)
{
try {
return parent::handle($request, $next);
} catch (TokenMismatchException $e) {
// Redirect to login page if CSRF token is invalid
return redirect()->route('login')->with('logsemula', 'Sesi anda telah tamat. Sila log masuk semula.');
}
}
}
+26 -1
View File
@@ -3,6 +3,7 @@
namespace App\Http\Requests;
use App\Http\Controllers\InformationController;
use App\Models\CompanyStatus;
use App\Rules\PaymentRules\CawanganPermitUjrahPayment;
use App\Rules\PaymentRules\NorujukanBukanFasa2;
use App\Rules\PaymentRules\NorujukanContractNotExceed12Month;
@@ -53,9 +54,33 @@ class PaymentRequest extends FormRequest
public function getPembiayaanFromNorujukan()
{
if(null !== $this->input('redirect_trolley') && $this->input('redirect_trolley') == 'trolley'){
return [];
}
$norujukanList = json_decode($this->totalSagInCartInput);
$syarikatList = json_decode($this->listSyarikatinCartInput);
return array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0], $norujukanList);
$filterByStatus = function ($status) use ($norujukanList, $syarikatList) {
return array_filter(
array_map(function ($sag, $index) use ($syarikatList, $status) {
if (isset($syarikatList[$index]) && $syarikatList[$index] == $status) {
$HttpRequest = $status == CompanyStatus::COM_PKB ? Http::arrahn() : Http::arrahn_koop();
$array_temp = $HttpRequest->get('/api/gadai/norujukan/' . $sag)->json()[0][0] ?? null;
$array_temp['tag_syarikat'] = $status;
return $array_temp;
}
return null;
}, $norujukanList, array_keys($norujukanList))
);
};
$list_pkb = $filterByStatus(CompanyStatus::COM_PKB);
$list_koop = $filterByStatus(CompanyStatus::COM_KOOPPKB);
$array_merged_list = array_merge($list_pkb,$list_koop);
return $array_merged_list;
// return array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0], $norujukanList);
}
public function getPembiayaanAkanDilelong()