where('type', 'Withdraw')->latest(); } public function getMyAll() { return WalletBalance::with('user')->where('user_id', auth()->user()->id)->where('type', 'Withdraw')->latest(); } public function findWidrawRequestById($id){ return WalletBalance::findOrFail($id); } public function withdrawRequestStore($data) { WalletBalance::create([ 'user_id' => auth()->user()->id, 'type' => 'Withdraw', 'amount' => $data['amount'], 'payment_method' => 7, 'txn_id' => "None", 'status' => 0, ]); // Send Notification $this->notificationUrl = route('wallet.withdraw_requests'); $this->typeId = EmailTemplateType::where('type', 'withdraw_request_email_template')->first()->id; $user1 = User::where('role_id',1)->first(); $user2 = User::where('role_id',2)->first(); $this->notificationSend("Seller payout Request", $user1->id); $this->notificationSend("Seller payout Request", $user2->id); } public function withdrawRequestUpdate(array $data) { WalletBalance::findOrFail($data['id'])->update([ 'amount' => $data['amount'], ]); } public function withdrawRequestStatusUpdate($data, $id) { $wallet_balance = WalletBalance::findOrFail($id); $wallet_balance->update([ 'status' => $data['status'], ]); $notificationUrl = route('my-wallet.withdraw_index'); $this->notificationUrl = $notificationUrl; $this->typeId = EmailTemplateType::where('type','wallet_email_template')->first()->id;//wallet email templete typeId if ($data['status'] == 1) { $transactionRepo = new TransactionRepository(new Transaction); $defaultSellerAccount = $this->defaultSellerAccount(); $transactionRepo->makeTransaction("Money Withdraw By Seller", "out", $wallet_balance->GatewayName, "sales_expense", $defaultSellerAccount, "Product Sale GST", $wallet_balance, $wallet_balance->amount, Carbon::now()->format('Y-m-d'), auth()->id(), null, null); $this->notificationSend("Withdraw request approve",$wallet_balance->user_id); }else{ $this->notificationSend("Withdraw request declined",$wallet_balance->user_id); } } public function delete($id) { // } }