From fde35a15ca34edbca6923fd62375cdd2414e542b Mon Sep 17 00:00:00 2001 From: sanjeev Date: Mon, 11 Jul 2022 17:27:18 +0530 Subject: [PATCH] Updated Store Method --- .../Sales/TransactionController.php | 106 ++++++++++-------- .../Admin/src/Resources/lang/ar/app.php | 1 + .../Admin/src/Resources/lang/ben/app.php | 1 + .../Admin/src/Resources/lang/de/app.php | 1 + .../Admin/src/Resources/lang/en/app.php | 1 + .../Admin/src/Resources/lang/es/app.php | 1 + .../Admin/src/Resources/lang/fa/app.php | 1 + .../Admin/src/Resources/lang/fr/app.php | 3 +- .../Admin/src/Resources/lang/he/app.php | 1 + .../Admin/src/Resources/lang/hi_IN/app.php | 1 + .../Admin/src/Resources/lang/it/app.php | 1 + .../Admin/src/Resources/lang/ja/app.php | 1 + .../Admin/src/Resources/lang/nl/app.php | 1 + .../Admin/src/Resources/lang/pl/app.php | 1 + .../Admin/src/Resources/lang/pt_BR/app.php | 1 + .../Admin/src/Resources/lang/ru/app.php | 1 + .../Admin/src/Resources/lang/sin/app.php | 1 + .../Admin/src/Resources/lang/tr/app.php | 1 + .../Admin/src/Resources/lang/zh_CN/app.php | 1 + 19 files changed, 77 insertions(+), 49 deletions(-) diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php index 273907b64..438d47344 100644 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php @@ -80,58 +80,68 @@ class TransactionController extends Controller $invoice = $this->invoiceRepository->where('increment_id', $request->invoice_id)->first(); - if ($invoice) { - if ($invoice->state == 'paid') { - session()->flash('info', trans('admin::app.sales.transactions.response.already-paid')); + if (! $invoice) { + session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing')); - return redirect(route('admin.sales.transactions.index')); - } - - if ($request->amount > $invoice->base_grand_total) { - session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds')); - - return redirect(route('admin.sales.transactions.create')); - } else { - $order = $this->orderRepository->find($invoice->order_id); - - $randomId = random_bytes(20); - - $this->orderTransactionRepository->create([ - 'transaction_id' => bin2hex($randomId), - 'type' => $request->payment_method, - 'payment_method' => $request->payment_method, - 'invoice_id' => $invoice->id, - 'order_id' => $invoice->order_id, - 'amount' => $request->amount, - 'status' => 'paid', - 'data' => json_encode([ - 'paidAmount' => $request->amount, - ]), - ]); - - $transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount'); - - if ($transactionTotal >= $invoice->base_grand_total) { - $shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first(); - - if (isset($shipments)) { - $this->orderRepository->updateOrderStatus($order, 'completed'); - } else { - $this->orderRepository->updateOrderStatus($order, 'processing'); - } - - $this->invoiceRepository->updateState($invoice, 'paid'); - } - - session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved')); - - return redirect(route('admin.sales.transactions.index')); - } + return redirect()->back(); } - session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing')); + $transactionAmtBefore = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount'); + + $transactionAmtfinal = $request->amount + $transactionAmtBefore; - return redirect()->back(); + if ($invoice->state == 'paid') { + session()->flash('info', trans('admin::app.sales.transactions.response.already-paid')); + + return redirect(route('admin.sales.transactions.index')); + } + + if ($transactionAmtfinal > $invoice->base_grand_total) { + session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds')); + + return redirect(route('admin.sales.transactions.create')); + } + + if ($request->amount <= 0) { + session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-zero')); + + return redirect(route('admin.sales.transactions.create')); + } + + $order = $this->orderRepository->find($invoice->order_id); + + $randomId = random_bytes(20); + + $this->orderTransactionRepository->create([ + 'transaction_id' => bin2hex($randomId), + 'type' => $request->payment_method, + 'payment_method' => $request->payment_method, + 'invoice_id' => $invoice->id, + 'order_id' => $invoice->order_id, + 'amount' => $request->amount, + 'status' => 'paid', + 'data' => json_encode([ + 'paidAmount' => $request->amount, + ]), + ]); + + $transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount'); + + if ($transactionTotal >= $invoice->base_grand_total) { + $shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first(); + + if (isset($shipments)) { + $this->orderRepository->updateOrderStatus($order, 'completed'); + } else { + $this->orderRepository->updateOrderStatus($order, 'processing'); + } + + $this->invoiceRepository->updateState($invoice, 'paid'); + } + + session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved')); + + return redirect(route('admin.sales.transactions.index')); } /** diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php index 5b128dcf6..bfe40008a 100644 --- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php @@ -523,6 +523,7 @@ return [ 'transaction-saved' => 'تم حفظ الصفقة', 'already-paid' => 'تم دفع هذه الفاتورة بالفعل', 'transaction-amount-exceeds' => 'المبلغ المحدد لهذه المعاملة أكبر من المبلغ الإجمالي للفاتورة.', + 'transaction-amount-zero' => 'يمكن أن يكون مبلغ الصفقة صفرًا أو أقل', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/ben/app.php b/packages/Webkul/Admin/src/Resources/lang/ben/app.php index fcc3a9294..ef5056388 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ben/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ben/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/de/app.php b/packages/Webkul/Admin/src/Resources/lang/de/app.php index f53b01907..14aeffc03 100755 --- a/packages/Webkul/Admin/src/Resources/lang/de/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/de/app.php @@ -516,6 +516,7 @@ return [ 'transaction-saved' => 'Die Transaktion wurde gespeichert', 'already-paid' => 'Diese Rechnung wurde bereits bezahlt', 'transaction-amount-exceeds' => 'Der angegebene Betrag dieser Transaktion übersteigt den Gesamtbetrag der Rechnung.', + 'transaction-amount-zero' => 'Der Transaktionsbetrag kann Null oder weniger betragen', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 1d7d87f47..d5aea161c 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/es/app.php b/packages/Webkul/Admin/src/Resources/lang/es/app.php index 88d69a4d8..de3b77306 100644 --- a/packages/Webkul/Admin/src/Resources/lang/es/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/es/app.php @@ -524,6 +524,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php index b4d804758..11ce3db1f 100644 --- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php @@ -521,6 +521,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/fr/app.php b/packages/Webkul/Admin/src/Resources/lang/fr/app.php index 4a1c2573b..1c9ab5cd9 100644 --- a/packages/Webkul/Admin/src/Resources/lang/fr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fr/app.php @@ -524,7 +524,8 @@ return [ 'invoice-missing' => 'Ce numéro de facture n\'existe pas', 'transaction-saved' => 'La transaction a été enregistrée', 'already-paid' => 'Cette facture a déjà été payée', - 'transaction-amount-exceeds' => 'Le montant de cette transaction dépasse le montant total de la facture.', + 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less.', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/he/app.php b/packages/Webkul/Admin/src/Resources/lang/he/app.php index 6c1dfc0ee..8ad088e81 100755 --- a/packages/Webkul/Admin/src/Resources/lang/he/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/he/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php index 084a35ca5..4fe951e8c 100644 --- a/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/hi_IN/app.php @@ -523,6 +523,7 @@ return [ 'transaction-saved' => 'लेन-देन सहेजा गया है', 'already-paid' => 'इस चालान का भुगतान पहले ही किया जा चुका है', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/it/app.php b/packages/Webkul/Admin/src/Resources/lang/it/app.php index da31785f1..e4828647a 100644 --- a/packages/Webkul/Admin/src/Resources/lang/it/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/it/app.php @@ -521,6 +521,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/ja/app.php b/packages/Webkul/Admin/src/Resources/lang/ja/app.php index fcc3a9294..ef5056388 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ja/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ja/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/nl/app.php b/packages/Webkul/Admin/src/Resources/lang/nl/app.php index 9dd17092c..76f0a3ef4 100644 --- a/packages/Webkul/Admin/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/nl/app.php @@ -517,6 +517,7 @@ return [ 'transaction-saved' => 'De transactie is geregistreerd', 'already-paid' => 'Dit factuur is al voldaan', 'transaction-amount-exceeds' => 'Het opgegeven bedrag van deze transactie overschrijdt het totaalbedrag van de factuur.', + 'transaction-amount-zero' => 'Transactiebedrag kan nul of minder zijn', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/pl/app.php b/packages/Webkul/Admin/src/Resources/lang/pl/app.php index feed3a577..ba0d64473 100644 --- a/packages/Webkul/Admin/src/Resources/lang/pl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pl/app.php @@ -517,6 +517,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php index f827aaf72..cbd6d1dfd 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -516,6 +516,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/ru/app.php b/packages/Webkul/Admin/src/Resources/lang/ru/app.php index 6c1dfc0ee..8ad088e81 100755 --- a/packages/Webkul/Admin/src/Resources/lang/ru/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ru/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/sin/app.php b/packages/Webkul/Admin/src/Resources/lang/sin/app.php index 6c1dfc0ee..8ad088e81 100755 --- a/packages/Webkul/Admin/src/Resources/lang/sin/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/sin/app.php @@ -526,6 +526,7 @@ return [ 'transaction-saved' => 'The transaction has been saved', 'already-paid' => 'This invoice has already been paid', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php index a43eb0d77..cd1a5034b 100644 --- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php @@ -517,6 +517,7 @@ return [ 'transaction-saved' => 'İşlem kaydedildi', 'already-paid' => 'Bu fatura zaten ödendi', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ], diff --git a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php index 4de663efd..16759f6e2 100644 --- a/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php @@ -517,6 +517,7 @@ return [ 'transaction-saved' => '交易已保存', 'already-paid' => '此发票已支付', 'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.', + 'transaction-amount-zero' => 'Transaction amount can be zero or less', ], ], ],