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 00000000..e46fd21d Binary files /dev/null and b/resources/assets/images/fpx-logo-vector-01.png differ 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 @@