From 03843d872607ab891fbc3f3ed81ee74b8e3ab276 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 20 Sep 2022 08:04:43 +0800 Subject: [PATCH] billing fix up --- .../ApprovePaymentTransactionLogic.php | 36 +++++++++++++++--- .../assets/images/fpx-logo-vector-01.png | Bin 0 -> 8448 bytes .../AdminPaymentsBillingComponent.vue | 4 +- .../forms/PaymentFormComponent.vue | 2 +- 4 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 resources/assets/images/fpx-logo-vector-01.png diff --git a/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php index 5db49ddf..3925c471 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php @@ -9,6 +9,8 @@ use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Documents\Services\ApprovesDocument; use App\Classes\Modules\Documents\Services\FetchesDocument; use App\Classes\Modules\Documents\Services\RejectsDocument; +use App\Classes\Modules\Orders\Processors\UpdateDoFromVTPortalProcessor; +use App\Classes\Modules\Orders\Processors\UpdateDoFromYDPortalProcessor; use App\Classes\Modules\Transactions\Services\FetchesTransaction; use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus; @@ -20,20 +22,22 @@ use Illuminate\Http\Request; class ApprovePaymentTransactionLogic extends AbstractControllerLogic { /** - * ApprovePaymentVerificationLogic constructor. + * ApprovePaymentTransactionLogic constructor. * @param FetchesTransaction $fetchesTransaction * @param UpdatesTransactionStatus $updatesTransactionStatus * @param ApprovesDocument $approvesDocument * @param RejectsDocument $rejectsDocument - * @param FetchesDocument $fetchesDocument - * @param CreateInvoiceTransactionProcessor $createInvoiceTransactionProcessor + * @param UpdateDoFromVTPortalProcessor $updateDoFromVTPortalProcessor + * @param UpdateDoFromYDPortalProcessor $updateDoFromYDPortalProcessor */ - public function __construct(FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, ApprovesDocument $approvesDocument, RejectsDocument $rejectsDocument, FetchesDocument $fetchesDocument) + public function __construct(FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, ApprovesDocument $approvesDocument, RejectsDocument $rejectsDocument, UpdateDoFromVTPortalProcessor $updateDoFromVTPortalProcessor, UpdateDoFromYDPortalProcessor $updateDoFromYDPortalProcessor) { $this->fetchesTransaction = $fetchesTransaction; $this->updatesTransactionStatus = $updatesTransactionStatus; $this->approvesDocument = $approvesDocument; $this->rejectsDocument = $rejectsDocument; + $this->updateDoFromVTPortalProcessor = $updateDoFromVTPortalProcessor; + $this->updateDoFromYDPortalProcessor = $updateDoFromYDPortalProcessor; } /** @@ -58,10 +62,18 @@ class ApprovePaymentTransactionLogic extends AbstractControllerLogic /** @var RejectsDocument */ private $rejectsDocument; + /** @var UpdateDoFromVTPortalProcessor */ + private $updateDoFromVTPortalProcessor; + + /** @var UpdateDoFromYDPortalProcessor */ + private $updateDoFromYDPortalProcessor ; + /** * @param Request $request * @return JsonResponse + * @throws \App\Classes\Exceptions\InternalServerErrorException * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \GuzzleHttp\Exception\GuzzleException */ public function logic(Request $request) : JsonResponse { @@ -74,7 +86,21 @@ class ApprovePaymentTransactionLogic extends AbstractControllerLogic $this->updatesTransactionStatus->execute($transaction, $status === 'approve' ? ApprovalStatus::APPROVED : ApprovalStatus::REJECTED); - // $this->createInvoiceTransactionProcessor->execute($transaction->booking); + if($transaction->status === ApprovalStatus::APPROVED){ + $invoice = $transaction->owner; + $packingList = $invoice->owner; + + if($transaction->amount >= $invoice->amount) { + $this->updatesTransactionStatus->execute($invoice, ApprovalStatus::COMPLETED); + if(app()->environment('production')){ + $this->updateDoFromVTPortalProcessor->execute($packingList); + $this->updateDoFromYDPortalProcessor->execute($packingList); + } + } + + } + + return $this->response([]); } diff --git a/resources/assets/images/fpx-logo-vector-01.png b/resources/assets/images/fpx-logo-vector-01.png new file mode 100644 index 0000000000000000000000000000000000000000..e46fd21d517ec12d52b3eb286fc1e113a7e02dd1 GIT binary patch literal 8448 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 F{{vAOkVpUk literal 0 HcmV?d00001 diff --git a/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue index 949f70c9..5daf62f7 100644 --- a/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue +++ b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue @@ -190,7 +190,7 @@
MYR {{(Math.round((item.shippng_transaction.amount + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
-
+
Paid Total:
@@ -199,7 +199,7 @@
Paid Total
-
+
Floating Amount:
diff --git a/resources/assets/vue/components/paymentsBilling/forms/PaymentFormComponent.vue b/resources/assets/vue/components/paymentsBilling/forms/PaymentFormComponent.vue index 96c909ee..39b87fac 100644 --- a/resources/assets/vue/components/paymentsBilling/forms/PaymentFormComponent.vue +++ b/resources/assets/vue/components/paymentsBilling/forms/PaymentFormComponent.vue @@ -13,7 +13,7 @@ {{error}}
-
+