/** * Store a newly created resource in storage. * * @param Deposit $deposit * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Deposit $deposit, Request $request) { if ((int) $request->input('amount') > Auth::user()->balance) { \Session::flash('message', 'Недостаточно средств!'); return redirect('/profile'); } elseif ($request->input('amount') <= 0) { \Session::flash('message', 'Введите корректную сумму!'); return back(); } else { $bank = Banks::where('banks_profiles_id', 2)->first(); $data = $request->all(); $data['days'] = $request->input('days'); $data['percent'] = $request->input('percent'); $data['conclusion'] = Carbon::now()->addDays((int) $request->input('days')); $user = User::find($request->input('user_id')); $plan = Plan::find($request->input('currency_id')); $deposit->fill($data); $deposit->user()->associate($user); $deposit->plan()->associate($plan); $bank->amount += (int) $request->input('amount'); $bank->update(); $user->balance -= (int) $request->input('amount'); $user->update(); $deposit->save(); \Session::flash('message', 'Вы успешно сделали вклад! Для получения информации по вкладам перейдите в "Мои операции"'); return redirect('/profile'); } }
/** * @GET("profile/transactions", as="profile.transactions") * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { $user_id = \Auth::user()->id; $purchases = Purchase::where('user_id', $user_id)->get(); $deposits = Deposit::where('user_id', $user_id)->get(); $pulloffmoneys = PullOffMoney::where('user_id', $user_id)->get(); return view('transactions.index', compact('purchases', 'deposits', 'pulloffmoneys')); }
/** * @POST("/profile/deposits/{id}") * @param $id * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function update($id, Request $request) { $user = \Auth::user(); $bank = Banks::where('banks_profiles_id', 2)->first(); $deposit = Deposit::findOrFail($id); if ($deposit->conclusion <= new \DateTime() && $deposit->status == 0) { $deposit->status = $request->input('status'); $deposit->update(); $bank->amount -= $deposit->total; $bank->update(); $user->balance += $deposit->total; $user->update(); \Session::flash('message', 'Вывод успешно завершен! Спасибо, что доверяете нам!'); return redirect()->route('profile.index'); } else { return redirect()->route('profile.index')->with('message', 'Ошибка вывода!'); } }
/** * @GET("/deposits", as="admin.deposits.index") * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { $deposits = Deposit::all(); return view('admin.deposits.index', compact('deposits')); }