add api payment
This commit is contained in:
@@ -239,10 +239,16 @@ class ApiController extends Controller
|
||||
|
||||
event(new PaymentNotify('PAID',$resit->user_id,$payment->id));
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'resit' => $resit
|
||||
]);
|
||||
$success = true;
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
// return response()->json([
|
||||
// 'success' => true,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
|
||||
return view('pembida.feePaymentResult',compact('data', 'result', 'success'));
|
||||
|
||||
}else{
|
||||
$resit = Resit::where('billplz_id','=',$data['billplz']['id'])->first();
|
||||
@@ -250,11 +256,16 @@ class ApiController extends Controller
|
||||
$resit->paid_at = null;
|
||||
$resit->save();
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
$success = false;
|
||||
|
||||
event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,''));
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'resit' => $resit
|
||||
]);
|
||||
// return response()->json([
|
||||
// 'success' => false,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
return view('pembida.feePaymentResult',compact('data', 'result', 'success'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,7 +339,6 @@ class ApiController extends Controller
|
||||
|
||||
public function bidpayment(Request $request)
|
||||
{
|
||||
|
||||
$arraycollection_id = array();
|
||||
|
||||
$http = new HttpMethodsClient(
|
||||
@@ -353,6 +363,8 @@ class ApiController extends Controller
|
||||
$year = $current->format('y');
|
||||
|
||||
$total_bayaran = ($request->total)*100+100;
|
||||
// dump($request->total);
|
||||
// dd($total_bayaran);
|
||||
|
||||
$collection_id = $this->collection_id;
|
||||
$response = $bill->create(
|
||||
@@ -365,7 +377,7 @@ class ApiController extends Controller
|
||||
'Bayaran Bidaan',
|
||||
['redirect_url' => route('pay.bidpaymentStatus')]
|
||||
);
|
||||
// dd($response);
|
||||
// dd($response->toArray());
|
||||
$previous_siri = Resit::orderBy('id','desc')->first();
|
||||
if($previous_siri){
|
||||
$nosiri = $previous_siri->id + 1;
|
||||
@@ -380,6 +392,7 @@ class ApiController extends Controller
|
||||
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri);
|
||||
// $response2 = $bill->get($billcode['id']);
|
||||
// dd($response2->toArray());
|
||||
|
||||
$resit = new Resit;
|
||||
$resit->user_id = $request->user_id;
|
||||
$resit->lelong_id = $request->lelong_id;
|
||||
@@ -387,7 +400,28 @@ class ApiController extends Controller
|
||||
$resit->billplz_id = $billcode['id'];
|
||||
$resit->resit_type = 2; //billplz resit for bid payment
|
||||
$resit->total_payment = $request->total;
|
||||
$resit->invoice_id = $request->invoice_id;
|
||||
$resit->invoice_no = $request->invoice_no;
|
||||
$resit->save();
|
||||
// dd($resit);
|
||||
|
||||
// $selectedSag = [];
|
||||
$selectedSag = $request->sag;
|
||||
// dd($selectedSag);
|
||||
foreach ($selectedSag as $index) {
|
||||
// dd($index['kodcaw']);
|
||||
$payment = new Payment;
|
||||
$payment->user_id = $request->user_id;
|
||||
$payment->lelong_id = $request->lelong_id;
|
||||
$payment->kodcaw = $index['kodcaw'];
|
||||
$payment->norujukan = $index['norujukan'];
|
||||
$payment->total_payment = $index['total_payment'];
|
||||
$payment->status_payment_opt = 2; //bayar secara online 2
|
||||
$payment->status = 0; //0-unpaid //1-fee //2-bid
|
||||
$payment->remark = '';
|
||||
$payment->resit_id = $resit->id;
|
||||
$payment->save();
|
||||
}
|
||||
|
||||
|
||||
// return redirect($billcode['url'] . '?auto_submit=true');
|
||||
@@ -397,148 +431,174 @@ class ApiController extends Controller
|
||||
], 201);
|
||||
// return view('pembayaran.result.berjaya',compact('arraybayaran'));
|
||||
}
|
||||
|
||||
public function bidcallback(Request $request){
|
||||
|
||||
public function bidcallback(Request $request)
|
||||
{
|
||||
// dd('hye callback');
|
||||
$http = new HttpMethodsClient(
|
||||
new GuzzleHttpClient(),
|
||||
new GuzzleMessageFactory()
|
||||
);
|
||||
|
||||
$billplz = new Client($http, $this->api_key);
|
||||
if(config('app.env') != 'production'){
|
||||
$billplz->useSandbox();
|
||||
}
|
||||
$billplz->useVersion('v4');
|
||||
$http = new HttpMethodsClient(
|
||||
new GuzzleHttpClient(),
|
||||
new GuzzleMessageFactory()
|
||||
);
|
||||
|
||||
$bill = $billplz->bill();
|
||||
$billplz = new Client($http, $this->api_key);
|
||||
if (config('app.env') != 'production') {
|
||||
$billplz->useSandbox();
|
||||
}
|
||||
$billplz->useVersion('v4');
|
||||
|
||||
$data = $bill->webhook($request->toArray());
|
||||
|
||||
if($data['billplz']['paid'] == 'true'){
|
||||
$resit = Resit::where('billplz_id','=',$data['billplz']['id'])->first();
|
||||
$bill = $billplz->bill();
|
||||
|
||||
$data = $bill->webhook($request->toArray());
|
||||
|
||||
if ($data['billplz']['paid'] == 'true') {
|
||||
$resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first();
|
||||
$resit->status = 'PAID';
|
||||
$resit->paid_at = $data['billplz']['paid_at'];
|
||||
$resit->save();
|
||||
|
||||
$resitoriginal = Resit::where('user_id', $resit->user_id)
|
||||
->where('lelong_id', $resit->lelong_id)
|
||||
->where('resit_type', 2)
|
||||
->first();
|
||||
$payment = $resit->total_payment;
|
||||
$resitoriginal->total_payment = $resitoriginal->total_payment + $payment;
|
||||
$resitoriginal->save();
|
||||
->where('lelong_id', $resit->lelong_id)
|
||||
->where('resit_type', 2)
|
||||
->first();
|
||||
|
||||
$payment = new Payment;
|
||||
$payment->user_id = $resitoriginal->user_id;
|
||||
$payment->lelong_id = $resitoriginal->lelong_id;
|
||||
$payment->total_payment = $resit->total_payment;
|
||||
$payment->resit_id = $resitoriginal->id;
|
||||
$payment->status_payment_opt = 2; //bayar secara online 2
|
||||
$payment->status = 1; //fee rm10 - 1
|
||||
$payment->remark = 'BAYARAN ONLINE';
|
||||
$payment->save();
|
||||
// $resitoriginal->total_payment = $resitoriginal->total_payment + $resit->total_payment;
|
||||
// $resitoriginal->save();
|
||||
|
||||
event(new PaymentNotify('PAID',$resitoriginal->user_id,$payment->id));
|
||||
// $payment = new Payment;
|
||||
// $payment->user_id = $resitoriginal->user_id;
|
||||
// $payment->lelong_id = $resitoriginal->lelong_id;
|
||||
// $payment->total_payment = $resit->total_payment;
|
||||
// $payment->resit_id = $resitoriginal->id;
|
||||
// $payment->status_payment_opt = 2; //bayar secara online 2
|
||||
// $payment->status = 1; //fee rm10 - 1
|
||||
// $payment->remark = 'BAYARAN ONLINE';
|
||||
// $payment->save();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'resit' => $resitoriginal
|
||||
]);
|
||||
|
||||
}else{
|
||||
$resit = Resit::where('billplz_id','=',$data['billplz']['id'])->first();
|
||||
$resit->status = 'UNSUCCESSFUL';
|
||||
$resit->paid_at = null;
|
||||
$resit->save();
|
||||
|
||||
event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,''));
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'resit' => $resit
|
||||
]);
|
||||
}
|
||||
}
|
||||
$payment = Payment::where('lelong_id', $resit->lelong_id)
|
||||
->where('user_id', $resit->user_id)
|
||||
->where('resit_id', $resit->id)
|
||||
->get();
|
||||
foreach ($payment as $index) {
|
||||
$index->status = 2; //0-unpaid //1-fee //2-bid
|
||||
$index->remark = "BERJAYA BAYARAN ONLINE";
|
||||
$index->update();
|
||||
}
|
||||
|
||||
public function bidresponse(Request $request){
|
||||
// dd('hye response');
|
||||
$http = new HttpMethodsClient(
|
||||
new GuzzleHttpClient(),
|
||||
new GuzzleMessageFactory()
|
||||
);
|
||||
|
||||
$billplz = new Client($http, $this->api_key);
|
||||
if(config('app.env') != 'production'){
|
||||
$billplz->useSandbox();
|
||||
}
|
||||
$billplz->useVersion('v4');
|
||||
|
||||
$bill = $billplz->bill();
|
||||
$req = $request->toArray();
|
||||
$response = $bill->get($req['billplz']['id']);
|
||||
$data = $response->toArray();
|
||||
// dd($data);
|
||||
if($data['paid'] == 'true'){
|
||||
$resit = Resit::where('billplz_id','=',$data['id'])->first();
|
||||
$resit->status = 'PAID';
|
||||
$resit->paid_at = $data['paid_at'];
|
||||
$resit->save();
|
||||
|
||||
$resitoriginal = Resit::where('user_id', $resit->user_id)
|
||||
->where('lelong_id', $resit->lelong_id)
|
||||
->where('resit_type', 2)
|
||||
->first();
|
||||
|
||||
$resitoriginal->total_payment = $resitoriginal->total_payment + $resit->total_payment;
|
||||
$resitoriginal->save();
|
||||
|
||||
$payment = new Payment;
|
||||
$payment->user_id = $resitoriginal->user_id;
|
||||
$payment->lelong_id = $resitoriginal->lelong_id;
|
||||
$payment->total_payment = $resit->total_payment;
|
||||
$payment->resit_id = $resitoriginal->id;
|
||||
$payment->status_payment_opt = 2; //bayar secara online 2
|
||||
$payment->status = 1; //fee rm10 - 1
|
||||
$payment->remark = 'BAYARAN ONLINE';
|
||||
$payment->save();
|
||||
|
||||
event(new PaymentNotify('PAID',$resit->user_id,$payment->id));
|
||||
event(new PaymentNotify('PAID', $resit->user_id, $payment));
|
||||
|
||||
$success = true;
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
// dump($success);
|
||||
// dump($data);
|
||||
// dump($result);
|
||||
|
||||
// return response()->json([
|
||||
// 'success' => true,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
|
||||
return view('pembida.feePaymentResult',compact('data', 'result', 'success'));
|
||||
|
||||
}else{
|
||||
$resit = Resit::where('billplz_id','=',$data['id'])->first();
|
||||
return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
|
||||
} else {
|
||||
$resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first();
|
||||
$resit->status = 'UNSUCCESSFUL';
|
||||
$resit->paid_at = null;
|
||||
$resit->save();
|
||||
|
||||
event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,''));
|
||||
|
||||
event(new PaymentNotify('UNSUCCESSFUL', $resit->user_id, ''));
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
$success = false;
|
||||
|
||||
// return response()->json([
|
||||
// return response()->json([
|
||||
// 'success' => false,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
|
||||
return view('pembida.feePaymentResult',compact('data', 'result', 'success'));
|
||||
return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public function bidresponse(Request $request)
|
||||
{
|
||||
$http = new HttpMethodsClient(
|
||||
new GuzzleHttpClient(),
|
||||
new GuzzleMessageFactory()
|
||||
);
|
||||
|
||||
$billplz = new Client($http, $this->api_key);
|
||||
if (config('app.env') != 'production') {
|
||||
$billplz->useSandbox();
|
||||
}
|
||||
$billplz->useVersion('v4');
|
||||
|
||||
$bill = $billplz->bill();
|
||||
$req = $request->toArray();
|
||||
$response = $bill->get($req['billplz']['id']);
|
||||
$data = $response->toArray();
|
||||
if ($data['paid'] == 'true') {
|
||||
$resit = Resit::where('billplz_id', '=', $data['id'])->first();
|
||||
$resit->status = 'PAID';
|
||||
$resit->paid_at = $data['paid_at'];
|
||||
$resit->save();
|
||||
|
||||
$resitoriginal = Resit::where('user_id', $resit->user_id)
|
||||
->where('lelong_id', $resit->lelong_id)
|
||||
->where('resit_type', 2)
|
||||
->first();
|
||||
|
||||
// $resitoriginal->total_payment = $resitoriginal->total_payment + $resit->total_payment;
|
||||
// $resitoriginal->save();
|
||||
|
||||
// $payment = new Payment;
|
||||
// $payment->user_id = $resitoriginal->user_id;
|
||||
// $payment->lelong_id = $resitoriginal->lelong_id;
|
||||
// $payment->total_payment = $resit->total_payment;
|
||||
// $payment->resit_id = $resitoriginal->id;
|
||||
// $payment->status_payment_opt = 2; //bayar secara online 2
|
||||
// $payment->status = 1; //fee rm10 - 1
|
||||
// $payment->remark = 'BAYARAN ONLINE';
|
||||
// $payment->save();
|
||||
|
||||
$payment = Payment::where('lelong_id', $resit->lelong_id)
|
||||
->where('user_id', $resit->user_id)
|
||||
->where('resit_id', $resit->id)
|
||||
->get();
|
||||
foreach ($payment as $index) {
|
||||
$index->status = 2; //0-unpaid //1-fee //2-bid
|
||||
$index->remark = "BERJAYA BAYARAN ONLINE";
|
||||
$index->update();
|
||||
}
|
||||
|
||||
event(new PaymentNotify('PAID', $resit->user_id, $payment));
|
||||
|
||||
$success = true;
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
// return response()->json([
|
||||
// 'success' => true,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
|
||||
return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
|
||||
} else {
|
||||
$resit = Resit::where('billplz_id', '=', $data['id'])->first();
|
||||
$resit->status = 'UNSUCCESSFUL';
|
||||
$resit->paid_at = null;
|
||||
$resit->save();
|
||||
|
||||
event(new PaymentNotify('UNSUCCESSFUL', $resit->user_id, ''));
|
||||
|
||||
$result = $resit->toArray();
|
||||
|
||||
$success = false;
|
||||
|
||||
// return response()->json([
|
||||
// 'success' => false,
|
||||
// 'resit' => $resit
|
||||
// ]);
|
||||
|
||||
return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ use App\Models\LelongBidMarhun;
|
||||
use App\Models\LelKarat;
|
||||
use App\Models\LelKarat_temp;
|
||||
use App\Models\Resit;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\LogUser;
|
||||
|
||||
use App\Models\Customer;
|
||||
@@ -1700,7 +1701,8 @@ class LelongController extends Controller
|
||||
|
||||
}
|
||||
|
||||
public function janapemenangallcaw($lelong_id){
|
||||
public function janapemenangallcaw($lelong_id)
|
||||
{
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
@@ -1708,95 +1710,97 @@ class LelongController extends Controller
|
||||
|
||||
$day = $current->day;
|
||||
$month = $current->month;
|
||||
$year = $current->format('y');
|
||||
$year = $current->format('y');
|
||||
|
||||
$lelong = Lelong::where('id', '=', $lelong_id)->first();
|
||||
$lelongbid = LelongBid::where('lelong_id', '=', $lelong_id)->get();
|
||||
foreach ($lelongbid as $bid) {
|
||||
$highestprice = LelongBidder::where('lelongbid_id', '=', $bid->id)->orderBy('lelongbidder.hargabida', 'DESC')->first();
|
||||
|
||||
$lelong = Lelong::where('id','=',$lelong_id)->first();
|
||||
$lelongbid = LelongBid::where('lelong_id','=',$lelong_id)->get();
|
||||
foreach($lelongbid as $bid)
|
||||
{
|
||||
$highestprice = LelongBidder::where('lelongbid_id','=',$bid->id)->orderBy('lelongbidder.hargabida','DESC' )->first();
|
||||
|
||||
// dd($highestprice->hargabida);
|
||||
if($highestprice)
|
||||
{
|
||||
if ($highestprice) {
|
||||
// foreach($highestprice as $price){
|
||||
// $bidders = LelongBidder::where('lelongbid_id','=',$bid->id)->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )->get();
|
||||
$bidders = LelongBidder::join('lelongbid','lelongbid.id','=','lelongbidder.lelongbid_id')
|
||||
->where('lelongbid_id','=',$bid->id)
|
||||
->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )
|
||||
->select('lelongbidder.user_id','lelongbidder.id','lelongbidder.hargabida','lelongbid.pinjaman','lelongbid.bakiupah')
|
||||
// $bidders = LelongBidder::where('lelongbid_id','=',$bid->id)->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )->get();
|
||||
$bidders = LelongBidder::join('lelongbid', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
||||
->where('lelongbid_id', '=', $bid->id)
|
||||
->where('hargabida', '=', $highestprice->hargabida)->orderBy('masa_bidaan', 'ASC')
|
||||
->select('lelongbidder.user_id', 'lelongbidder.id', 'lelongbidder.hargabida', 'lelongbid.pinjaman', 'lelongbid.bakiupah')
|
||||
->get();
|
||||
// dd($bidders);
|
||||
$count = 0;
|
||||
foreach($bidders as $bidder)
|
||||
{
|
||||
$count = $count + 1;
|
||||
if($count == 1)
|
||||
{
|
||||
$pemenang = LelongBidder::where('id','=',$bidder->id)
|
||||
// dd($bidders);
|
||||
$count = 0;
|
||||
foreach ($bidders as $bidder) {
|
||||
$count = $count + 1;
|
||||
if ($count == 1) {
|
||||
$pemenang = LelongBidder::where('id', '=', $bidder->id)
|
||||
->first();
|
||||
$pemenang->status_bidder = 1;
|
||||
$pemenang->save();
|
||||
|
||||
// $updatebid = LelongBid::where('id','=',$bid->id)->first();
|
||||
// // dd($updatebid);
|
||||
// $updatebid->hargajual = $bidder->hargabida;
|
||||
// $updatebid->nopembeli = $bidder->user_id;
|
||||
// $updatebid->status_jual = 1;
|
||||
// $updatebid->save();
|
||||
$pemenang->status_bidder = 1;
|
||||
$pemenang->save();
|
||||
|
||||
$datalelong = Lelong::where('id',$lelong_id)->get();
|
||||
$sumcajlelong = $bidder->hargabida * ($datalelong[0]['cajlelong']/100);
|
||||
// dd($bidder->pinjaman);
|
||||
$totalbaki = $bidder->hargabida - $bidder->pinjaman - bcdiv($bidder->bakiupah,1,1) - bcdiv($sumcajlelong,1,1);
|
||||
$updatebid = LelongBid::where('id','=',$bid->id)->first();
|
||||
// dd($totalbaki);
|
||||
$updatebid->hargajual = $bidder->hargabida;
|
||||
$updatebid->t_jual = $currentdate;
|
||||
$updatebid->cajlelong = bcdiv($sumcajlelong,1,1);
|
||||
$updatebid->baki = $totalbaki;
|
||||
$updatebid->nopembeli = $bidder->user_id;
|
||||
$updatebid->status_jual = 1;
|
||||
$updatebid->save();
|
||||
// $updatebid = LelongBid::where('id','=',$bid->id)->first();
|
||||
// // dd($updatebid);
|
||||
// $updatebid->hargajual = $bidder->hargabida;
|
||||
// $updatebid->nopembeli = $bidder->user_id;
|
||||
// $updatebid->status_jual = 1;
|
||||
// $updatebid->save();
|
||||
|
||||
$datalelong = Lelong::where('id', $lelong_id)->get();
|
||||
$sumcajlelong = $bidder->hargabida * ($datalelong[0]['cajlelong'] / 100);
|
||||
// dd($bidder->pinjaman);
|
||||
$totalbaki = $bidder->hargabida - $bidder->pinjaman - bcdiv($bidder->bakiupah, 1, 1) - bcdiv($sumcajlelong, 1, 1);
|
||||
$updatebid = LelongBid::where('id', '=', $bid->id)->first();
|
||||
// dd($totalbaki);
|
||||
$updatebid->hargajual = $bidder->hargabida;
|
||||
$updatebid->t_jual = $currentdate;
|
||||
$updatebid->cajlelong = bcdiv($sumcajlelong, 1, 1);
|
||||
$updatebid->baki = $totalbaki;
|
||||
$updatebid->nopembeli = $bidder->user_id;
|
||||
$updatebid->status_jual = 1;
|
||||
$updatebid->save();
|
||||
|
||||
|
||||
$previous_siri = Resit::orderBy('id','desc')->first();
|
||||
$checkdata = Resit::where('user_id', $bidder->user_id)
|
||||
$previous_siri = Invoice::orderBy('id', 'desc')->first();
|
||||
$checkdata = Invoice::where('user_id', $bidder->user_id)
|
||||
->where('lelong_id', $lelong_id)
|
||||
->where('resit_type', 2)
|
||||
->where('invoice_type', 2)
|
||||
->first();
|
||||
if(!$checkdata){
|
||||
if($previous_siri){
|
||||
$nosiri = $previous_siri->id + 1;
|
||||
}else{
|
||||
$nosiri = 1;
|
||||
}
|
||||
|
||||
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri);;
|
||||
|
||||
$resit = new Resit;
|
||||
$resit->user_id = $bidder->user_id;
|
||||
$resit->lelong_id = $lelong_id;
|
||||
$resit->reference_no = $reference_no;
|
||||
$resit->billplz_id = '';
|
||||
$resit->total_payment = '0.00';
|
||||
$resit->resit_type = 2; // 1 = fee , 2 = bid
|
||||
$resit->save();
|
||||
// dump($previous_siri->toArray());
|
||||
if (!$checkdata) {
|
||||
if ($previous_siri) {
|
||||
$nosiri = $previous_siri->id + 1;
|
||||
} else {
|
||||
$nosiri = 1;
|
||||
}
|
||||
|
||||
$reference_no = 'iPKB' . $day . $month . $year . sprintf("%08d", $nosiri);;
|
||||
|
||||
// $resit = new Resit;
|
||||
// $resit->user_id = $bidder->user_id;
|
||||
// $resit->lelong_id = $lelong_id;
|
||||
// $resit->reference_no = $reference_no;
|
||||
// $resit->billplz_id = '';
|
||||
// $resit->total_payment = '0.00';
|
||||
// $resit->resit_type = 2; // 1 = fee , 2 = bid
|
||||
// $resit->save();
|
||||
$invoice = new Invoice;
|
||||
$invoice->user_id = $bidder->user_id;
|
||||
$invoice->lelong_id = $lelong_id;
|
||||
$invoice->invoice_no = $reference_no;
|
||||
$invoice->total_invoice = '0.00';
|
||||
$invoice->invoice_type = 2; // 1 = fee , 2 = bid
|
||||
$invoice->save();
|
||||
// dd($invoice->toArray());
|
||||
// dd("sni");
|
||||
}
|
||||
else
|
||||
{
|
||||
$kalah = LelongBidder::where('id','=',$bidder->id)
|
||||
->first();
|
||||
$kalah->status_bidder = 0;
|
||||
$kalah->save();
|
||||
}
|
||||
} else {
|
||||
$kalah = LelongBidder::where('id', '=', $bidder->id)
|
||||
->first();
|
||||
$kalah->status_bidder = 0;
|
||||
$kalah->save();
|
||||
}
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
else
|
||||
{ //xlaku
|
||||
|
||||
} else { //xlaku
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1804,8 +1808,7 @@ class LelongController extends Controller
|
||||
$lelong->save();
|
||||
|
||||
return redirect()->route('lelong.senarailelong')
|
||||
->with('success','Selesai menjana pemenang');
|
||||
|
||||
->with('success', 'Selesai menjana pemenang');
|
||||
}
|
||||
|
||||
public function kemaskinidata($lelong_id)
|
||||
|
||||
@@ -16,6 +16,7 @@ use Carbon\Carbon;
|
||||
use App\Models\Cawangan;
|
||||
use App\Models\Resit;
|
||||
use App\Models\FileResit;
|
||||
use App\Models\Invoice;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
@@ -344,49 +345,61 @@ class LelongMobileController extends Controller
|
||||
{
|
||||
$sag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
||||
->where('lelongbid.lelong_id', $lelong_id)
|
||||
->where('lelongbidder.user_id',$user_id)
|
||||
->where('lelongbidder.status_bidder',1)
|
||||
->whereNull('lelongbidder.status_payment')
|
||||
->select(
|
||||
'lelongbid.kodcaw'
|
||||
)
|
||||
->groupBy('lelongbid.kodcaw')
|
||||
->get();
|
||||
->where('lelongbidder.user_id', $user_id)
|
||||
->where('lelongbidder.status_bidder', 1)
|
||||
->whereNull('lelongbidder.status_payment')
|
||||
->select(
|
||||
'lelongbid.kodcaw'
|
||||
)
|
||||
->groupBy('lelongbid.kodcaw')
|
||||
->get();
|
||||
$getTarikhLelong = Lelong::where('id', $lelong_id)->select('tarikh_lelong')->first();
|
||||
$tarikhLelong = $getTarikhLelong->tarikh_lelong;
|
||||
|
||||
$data = [];
|
||||
|
||||
foreach($sag as $index1=>$kodcaw)
|
||||
{
|
||||
foreach ($sag as $index1 => $kodcaw) {
|
||||
// dd($kodcaw);
|
||||
$groupBycaw = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
||||
->where('lelongbid.lelong_id', $lelong_id)
|
||||
->where('lelongbidder.user_id',$user_id)
|
||||
->where('lelongbidder.status_bidder',1)
|
||||
->whereNull('lelongbidder.status_payment')
|
||||
->where('lelongbid.kodcaw', $kodcaw['kodcaw'])
|
||||
->get();
|
||||
->where('lelongbidder.user_id', $user_id)
|
||||
->where('lelongbidder.status_bidder', 1)
|
||||
->whereNull('lelongbidder.status_payment')
|
||||
->where('lelongbid.kodcaw', $kodcaw['kodcaw'])
|
||||
->get();
|
||||
|
||||
$sag[$index1]['kodcaw'] = $groupBycaw;
|
||||
$getCawangan = Cawangan::where('caw_code', $kodcaw->kodcaw)
|
||||
->select('caw_name', 'caw_code')
|
||||
->first();
|
||||
$namaCawangan = $getCawangan->caw_name;
|
||||
$kodCawangan = $getCawangan->caw_code;
|
||||
|
||||
$sag = $groupBycaw;
|
||||
|
||||
$total_hargabida = 0;
|
||||
foreach($groupBycaw as $hargabida)
|
||||
{
|
||||
foreach ($groupBycaw as $hargabida) {
|
||||
$totalbida = Lelongbidder::where('id', $hargabida['id'])
|
||||
->select('hargabida')
|
||||
->first();
|
||||
|
||||
$total_hargabida = $total_hargabida + $totalbida['hargabida'];
|
||||
}
|
||||
|
||||
array_push($data,[
|
||||
'sag'=> $kodcaw,
|
||||
'total_hargabida'=> $total_hargabida
|
||||
array_push($data, [
|
||||
'kodcaw' => $kodCawangan,
|
||||
'cawangan' => $namaCawangan,
|
||||
'sag' => $sag,
|
||||
'total_hargabida' => $total_hargabida
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
// dd($winner);
|
||||
return response()->json($data);
|
||||
|
||||
$response = [
|
||||
'success' => true,
|
||||
'tarikh_lelong' => $tarikhLelong,
|
||||
'data' => $data
|
||||
];
|
||||
|
||||
return response()->json($response);
|
||||
|
||||
}
|
||||
|
||||
public function updatebiditem(Request $request)
|
||||
@@ -759,4 +772,20 @@ class LelongMobileController extends Controller
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function getInvoiceId(Request $request) {
|
||||
$invoice = Invoice::where('user_id', $request->user_id)->where('lelong_id', $request->lelong_id)->first();
|
||||
|
||||
if ($invoice) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'invoice' => $invoice,
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
]);
|
||||
}
|
||||
dd($invoice);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Invoice extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'invoice';
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'lelong_id',
|
||||
'invoice_no',
|
||||
'total_invoice',
|
||||
'invoice_type', // 1 = fee , 2 = bid
|
||||
'status', //status => 1 = paid , 2 = pending
|
||||
'paid_at'
|
||||
];
|
||||
}
|
||||
@@ -59,6 +59,8 @@ class CreatePaymentTable extends Migration
|
||||
$table->unsignedBigInteger('user_id')->unsigned();
|
||||
$table->unsignedBigInteger('lelong_id')->unsigned();
|
||||
$table->string('reference_no')->nullable();
|
||||
$table->integer('invoice_id')->nullable();
|
||||
$table->string('invoice_no')->nullable();
|
||||
$table->string('billplz_id');
|
||||
$table->decimal('total_payment', $precision = 11, $scale = 2);
|
||||
$table->string('resit_type'); // 1 = fee , 2 = bid
|
||||
@@ -75,6 +77,26 @@ class CreatePaymentTable extends Migration
|
||||
->onDelete('cascade');
|
||||
});
|
||||
|
||||
Schema::create('invoice', function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->unsignedBigInteger('user_id')->unsigned();
|
||||
$table->unsignedBigInteger('lelong_id')->unsigned();
|
||||
$table->string('invoice_no')->nullable();
|
||||
$table->decimal('total_invoice', $precision = 11, $scale = 2);
|
||||
$table->string('invoice_type'); // 1 = fee , 2 = bid
|
||||
$table->string('status')->nullable(); //status => 1 = paid , 2 = pending
|
||||
$table->timestamp('paid_at')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
$table->foreign('user_id')
|
||||
->references('id')->on('users')
|
||||
->onDelete('cascade');
|
||||
|
||||
$table->foreign('lelong_id')
|
||||
->references('id')->on('lelong')
|
||||
->onDelete('cascade');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,5 +108,6 @@ class CreatePaymentTable extends Migration
|
||||
{
|
||||
Schema::dropIfExists('payment');
|
||||
Schema::dropIfExists('resit');
|
||||
Schema::dropIfExists('invoice');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,5 +263,15 @@ class RolesSeeder extends Seeder
|
||||
'notelbimbit' => '0198080123'
|
||||
]);
|
||||
$user->assignRole($role8);
|
||||
|
||||
$user = \App\Models\User::factory()->create([
|
||||
'name' => 'Amir',
|
||||
'username' => 'Amir',
|
||||
'email' => 'amir@example.com',
|
||||
'user_type' => 2,
|
||||
'nokp' => '980430032222',
|
||||
'notelbimbit' => '0198080000'
|
||||
]);
|
||||
$user->assignRole($role8);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -32,10 +32,8 @@ Route::post('/password/email', [ForgotPasswordController::class, 'sendResetLinkE
|
||||
// Route::get('/callback', [ApiController::class, 'feepayment']);
|
||||
|
||||
Route::post('/feepayment', [ApiController::class, 'feepayment'])->name('feepayment');
|
||||
|
||||
|
||||
|
||||
Route::post('/bidpayment', [ApiController::class, 'bidpayment'])->name('bidpayment');
|
||||
|
||||
//Protected routes
|
||||
Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
|
||||
@@ -68,6 +66,8 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
Route::post('/bayarcdm', [LelongMobileController::class, 'bayarCdm']);
|
||||
Route::post('/updateresit', [LelongMobileController::class, 'updateResit']);
|
||||
|
||||
Route::get('/invoice', [LelongMobileController::class, 'getInvoiceId']);
|
||||
|
||||
// Lelong => Bidder
|
||||
Route::post('/bidder/biditem', [LelongMobileController::class, 'bidderSelectBidItem']);
|
||||
Route::get('/bidder/listbiditem', [LelongMobileController::class, 'listBidItem']);
|
||||
|
||||
Reference in New Issue
Block a user