added personal_carts and put dynamic client
This commit is contained in:
@@ -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;
|
||||
@@ -18,21 +20,57 @@ class BayaranController extends Controller
|
||||
{
|
||||
public function PembayaranAction(PaymentRequest $request)
|
||||
{
|
||||
|
||||
$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);
|
||||
|
||||
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 = [];
|
||||
|
||||
}else{
|
||||
/* Doesn't Have Carts. First Timer */
|
||||
$request->validated();
|
||||
$request->validated();
|
||||
dd($request->all());
|
||||
dd($request->getPembiayaanFromNorujukan());
|
||||
$arraybayar = $this->setUpahTawarruq($request->getPembiayaanFromNorujukan());
|
||||
$request->validated();
|
||||
dd($request->all());
|
||||
dd($request->getPembiayaanFromNorujukan());
|
||||
$arraybayar = $this->setUpahTawarruq($request->getPembiayaanFromNorujukan());
|
||||
|
||||
return view('includes.bayaran.pembayaransag', compact('arraybayar'));
|
||||
$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)
|
||||
{
|
||||
['email' => $customerEmail, 'notel' => $customerPhoneNumber, 'name' => $customerName, 'icno' => $customerIcno] = auth()->user()->toArray();
|
||||
|
||||
// dd($request->all());
|
||||
$bayaranArrahn = array_filter($request->txtjenisbayaran, fn($x) => $x == 'arrahn');
|
||||
$bayaranOthers = array_filter($request->txtjenisbayaran, fn($x) => $x != 'arrahn');
|
||||
|
||||
// dd('test');
|
||||
$bayaranArrahnArray = array_map(function ($x) use ($customerName, $customerIcno, $request) {
|
||||
return [
|
||||
'customer_name' => $customerName,
|
||||
@@ -63,7 +101,8 @@ class BayaranController extends Controller
|
||||
return Money::MYR($sum())->add($billPlzTransactionFee);
|
||||
};
|
||||
|
||||
$bill = $billplzService->createBill([$customerEmail, $customerPhoneNumber, $customerName, $getPaymentSum()]);
|
||||
$company = strtoupper($request->txtcompany);
|
||||
$bill = $billplzService->createBill([$customerEmail, $customerPhoneNumber, $customerName, $getPaymentSum()],$company);
|
||||
|
||||
$isRecordTransactionSuccess = $this->recordTransaction($paymentArray, $bill);
|
||||
|
||||
@@ -320,4 +359,28 @@ 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 removeCarts(){
|
||||
$exist_carts = PersonalCarts::where('ic_no', Auth::user()->icno)
|
||||
->where('user_id', Auth::user()->id)
|
||||
->first();
|
||||
|
||||
if ($exist_carts) {
|
||||
$exist_carts->delete();
|
||||
}
|
||||
|
||||
return $exist_carts;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -54,17 +55,28 @@ class PaymentRequest extends FormRequest
|
||||
public function getPembiayaanFromNorujukan()
|
||||
{
|
||||
$norujukanList = json_decode($this->totalSagInCartInput);
|
||||
|
||||
dd($norujukanList,$this->test);
|
||||
$syarikatList = json_decode($this->listSyarikatinCartInput);
|
||||
|
||||
$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 = array_filter($fn($x) => );
|
||||
// $list_koop = array_filter($fn($x) => );
|
||||
$list_pkb = $filterByStatus(CompanyStatus::COM_PKB);
|
||||
$list_koop = $filterByStatus(CompanyStatus::COM_KOOPPKB);
|
||||
|
||||
$pkb = array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0],$norujukanList);
|
||||
$koop = array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0],$norujukanList);
|
||||
|
||||
return array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0], $norujukanList);
|
||||
$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()
|
||||
|
||||
Reference in New Issue
Block a user