芝麻web文件管理V1.00
编辑当前文件:/home/rejoandoctor/test.joruridoctor.com/app/Http/Controllers/back/RefundController.php
middleware('auth'); } function makeRefund($id) { $ticket = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id)->first(); if(!empty($ticket)){ $ticket = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id)->first(); $agent = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(['id', 'agent_id']); $bank = StockModel::where('customer_id', Auth::user()->customer_id)->whereNotNull('bank_id')->get(); return view('back.refund.add_refund', compact('bank', 'agent', 'ticket')); }else{ $agent = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(['id', 'agent_id']); $bank = StockModel::where('customer_id', Auth::user()->customer_id)->whereNotNull('bank_id')->get(); return view('back.refund.add_refund', compact('bank', 'agent')); } } function storeRefund(Request $request, $id) { $due_amount = $request->due_amount; $refund_amount = $request->refund_amount; if(empty($due_amount)) { $ticket_id = $request->segment(3); $request->validate([ 'agent_id' => ['required', 'string'], 'bank_id' => ['required', 'string'], 'refund_charge' => ['required', 'string'], 'refund_amount' => ['required', 'string'], ]); // when refund ticket then where money send from bank account $bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(); $getamount = $bank->bank_amount - $request->refund_amount; $refund_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id); $refund_amount->update([ 'bank_amount' => $getamount, ]); // Deposit refund money in bank account for purchase ticket $receive_bank = BankAccountModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'refund_amount' => $request->refund_amount, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund_payment', ]); // when take refund charge from passenger and add money in agent account $agent = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id)->first(); $getamount = $agent->agent_amount + $request->refund_charge; $charge_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id); $charge_amount->update([ 'agent_amount' => $getamount, ]); // Deposit refund money in bank account for purchase ticket $refund_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'refund_amount' => $request->refund_charge, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund', ]); // Insert into Refund table $refund = RefundModel::create([ 'customer_id' => $request->customer_id, 'ticket_id' => $ticket_id, 'agent_id' => $request->agent_id, 'bank_id' => $request->bank_id, 'refund_amount' => $request->refund_amount, 'refund_charge' => $request->refund_charge, 'refund_date' => $request->ticket_refund_date, ]); // when refund a ticket then change the status sale to refund $ticketIdCheck = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(); $status = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $ticketIdCheck->id); $status->update([ 'status' => 'refund', ]); Session::flash('success', 'Refund Successfully'); return redirect()->action([TicketController::class, 'manageTicket'], ['param' => $ticket_id]); } elseif($due_amount == $refund_amount) { $ticket_id = $request->segment(3); // when take refund charge from passenger and add money in agent account $agent = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id)->first(); $getamount = $agent->agent_amount + $request->refund_charge; $charge_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id); $charge_amount->update([ 'agent_amount' => $getamount, ]); // Deposit refund money in bank account for purchase ticket $refund_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'refund_amount' => $request->refund_charge, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund', ]); $ticket = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id)->first(); $passengerID = $ticket->passenger_id; $total_amount = $ticket->due_amount - $request->refund_amount; $due_balance = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id); $due_balance->update([ 'due_amount' => $total_amount, ]); $due = DueModel::create([ 'customer_id' => $request->customer_id, 'passenger_id' => $passengerID, 'ticket_id' => $ticket_id, 'paid_amount' => $request->refund_amount, 'due_return_date' => $request->ticket_refund_date, 'type' => 'refund_purpose', ]); // when refund a ticket then change the status sale to refund $ticketIdCheck = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(); $status = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $ticketIdCheck->id); $status->update([ 'status' => 'refund', ]); Session::flash('success', 'Refund Successfully'); return redirect()->action([TicketController::class, 'manageTicket'], ['param' => $ticket_id]); } elseif($due_amount < $refund_amount) { $ticket_id = $request->segment(3); // when take refund charge from passenger and add money in agent account $agent = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id)->first(); $getamount = $agent->agent_amount + $request->refund_charge; $charge_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('agent_id', $request->agent_id); $charge_amount->update([ 'agent_amount' => $getamount, ]); // Deposit refund money in bank account for purchase ticket $refund_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'refund_amount' => $request->refund_charge, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund', ]); $ticket = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id)->first(); $passengerID = $ticket->passenger_id; $total_amount = $ticket->due_amount - $ticket->due_amount; $due_balance = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id); $due_balance->update([ 'due_amount' => $total_amount, ]); $due = DueModel::create([ 'customer_id' => $request->customer_id, 'passenger_id' => $passengerID, 'ticket_id' => $ticket_id, 'paid_amount' => $request->refund_amount, 'due_return_date' => $request->ticket_refund_date, 'type' => 'refund_purpose', ]); // when refund ticket then where money send from bank account $bank = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id)->first(); $total = $request->refund_amount - $request->due_amount; // from here after cal minus due amount $getamount = $bank->bank_amount - $total; // here after minus due amount and send left amount from bank $refund_amount = StockModel::where('customer_id', Auth::user()->customer_id)->where('bank_id', $request->bank_id); $refund_amount->update([ 'bank_amount' => $getamount, ]); // Deposit refund money in bank account for purchase ticket $receive_bank = BankAccountModel::create([ 'customer_id' => $request->customer_id, 'bank_id' => $request->bank_id, 'refund_amount' => $total, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund_payment', ]); // when refund a ticket then change the status sale to refund $ticketIdCheck = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(); $status = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $ticketIdCheck->id); $status->update([ 'status' => 'refund', ]); Session::flash('success', 'Refund Successfully'); return redirect()->action([TicketController::class, 'manageTicket'], ['param' => $ticket_id]); } elseif($due_amount > $refund_amount) { $ticket_id = $request->segment(3); // Deposit refund money in bank account for purchase ticket $refund_agent = AgentAccountModel::create([ 'customer_id' => $request->customer_id, 'agent_id' => $request->agent_id, 'refund_amount' => $request->refund_charge, 'refund_date' => $request->ticket_refund_date, 'type' => 'refund', ]); $ticket = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id)->first(); $passengerID = $ticket->passenger_id; $total_amount = $ticket->due_amount - $request->refund_amount; $due_balance = DueBalanceModel::where('customer_id', Auth::user()->customer_id)->where('ticket_id', $id); $due_balance->update([ 'due_amount' => $total_amount, ]); $due = DueModel::create([ 'customer_id' => $request->customer_id, 'passenger_id' => $passengerID, 'ticket_id' => $ticket_id, 'paid_amount' => $request->refund_amount, 'due_return_date' => $request->ticket_refund_date, 'type' => 'refund_purpose', ]); // when refund a ticket then change the status sale to refund $ticketIdCheck = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $id)->first(); $status = TicketModel::where('customer_id', Auth::user()->customer_id)->where('id', $ticketIdCheck->id); $status->update([ 'status' => 'refund', ]); Session::flash('success', 'Refund Successfully'); return redirect()->action([TicketController::class, 'manageTicket'], ['param' => $ticket_id]); } else { } } function manageRefund() { $refund = RefundModel::where('customer_id', Auth::user()->customer_id)->get(); return view('back.refund.manage_refund', compact('refund')); } function editRefund($id) { } function updateRefund(Request $request, $id) { } function destroyRefund($id) { } }