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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user