diff --git a/app/Classes/Modules/Orders/Processors/UpdateDoFromVTPortalProcessor.php b/app/Classes/Modules/Orders/Processors/UpdateDoFromVTPortalProcessor.php index da77ca4a..a9f2bb62 100644 --- a/app/Classes/Modules/Orders/Processors/UpdateDoFromVTPortalProcessor.php +++ b/app/Classes/Modules/Orders/Processors/UpdateDoFromVTPortalProcessor.php @@ -9,6 +9,8 @@ use App\Classes\Modules\Addresses\Services\FetchesAddress; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Models\PackingList; use GuzzleHttp\Exception\GuzzleException; +use Illuminate\Support\Facades\Log; + class UpdateDoFromVTPortalProcessor { /** @var FetchesDataFromVTPortal */ @@ -36,6 +38,8 @@ class UpdateDoFromVTPortalProcessor */ public function execute(PackingList $packing_list) { + Log::info('Trying to Call UpdateDoFromVTPortalProcessor'); + if(!app()->environment(['production'])){ return []; } diff --git a/app/Classes/Modules/Orders/Processors/UpdateDoFromYDPortalProcessor.php b/app/Classes/Modules/Orders/Processors/UpdateDoFromYDPortalProcessor.php index f7d76adf..efcfd697 100644 --- a/app/Classes/Modules/Orders/Processors/UpdateDoFromYDPortalProcessor.php +++ b/app/Classes/Modules/Orders/Processors/UpdateDoFromYDPortalProcessor.php @@ -37,6 +37,8 @@ class UpdateDoFromYDPortalProcessor * @throws InternalServerErrorException */ public function execute(PackingList $packingList) { + Log::info('Trying to Call UpdateDoFromYDPortalProcessor'); + if(!app()->environment(['production'])){ return; } diff --git a/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php index c739a456..0d0e06b3 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/ApprovePaymentTransactionLogic.php @@ -4,21 +4,15 @@ namespace App\Classes\Modules\Transactions\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; - - +use App\Classes\Modules\Billplzs\Processors\CallbackBillplzProcessor; 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\Processors\CreatePaymentTransactionProcessor; use App\Classes\Modules\Transactions\Services\FetchesTransaction; use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus; - use App\Classes\ValueObjects\Constants\ApprovalStatus; -use App\Classes\ValueObjects\Constants\PaymentMethodType; -use App\Models\Group; -use App\Models\Wallet; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -34,15 +28,13 @@ class ApprovePaymentTransactionLogic extends AbstractControllerLogic * @param UpdateDoFromYDPortalProcessor $updateDoFromYDPortalProcessor * @param CreatePaymentTransactionProcessor $createPaymentTransactionProcessor */ - public function __construct(FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, ApprovesDocument $approvesDocument, RejectsDocument $rejectsDocument, UpdateDoFromVTPortalProcessor $updateDoFromVTPortalProcessor, UpdateDoFromYDPortalProcessor $updateDoFromYDPortalProcessor, CreatePaymentTransactionProcessor $createPaymentTransactionProcessor) + public function __construct(FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, ApprovesDocument $approvesDocument, RejectsDocument $rejectsDocument, CallbackBillplzProcessor $callbackBillplzProcessor) { $this->fetchesTransaction = $fetchesTransaction; $this->updatesTransactionStatus = $updatesTransactionStatus; $this->approvesDocument = $approvesDocument; $this->rejectsDocument = $rejectsDocument; - $this->updateDoFromVTPortalProcessor = $updateDoFromVTPortalProcessor; - $this->updateDoFromYDPortalProcessor = $updateDoFromYDPortalProcessor; - $this->createPaymentTransactionProcessor = $createPaymentTransactionProcessor; + $this->callbackBillplzProcessor = $callbackBillplzProcessor; } /** @@ -67,14 +59,8 @@ class ApprovePaymentTransactionLogic extends AbstractControllerLogic /** @var RejectsDocument */ private $rejectsDocument; - /** @var UpdateDoFromVTPortalProcessor */ - private $updateDoFromVTPortalProcessor; - - /** @var UpdateDoFromYDPortalProcessor */ - private $updateDoFromYDPortalProcessor ; - - /** @var CreatePaymentTransactionProcessor */ - private $createPaymentTransactionProcessor; + /** @var CallbackBillplzProcessor */ + private $callbackBillplzProcessor; /** * @param Request $request @@ -94,48 +80,7 @@ class ApprovePaymentTransactionLogic extends AbstractControllerLogic $this->updatesTransactionStatus->execute($transaction, $status === 'approve' ? ApprovalStatus::APPROVED : ApprovalStatus::REJECTED); - if($transaction->status === ApprovalStatus::APPROVED){ - if ($transaction->owner instanceof Wallet) { - $group = Group::where('reference', $transaction->payment_reference)->first(); - $groupTransactions = $group->groupTransactions; - - foreach ($groupTransactions as $groupTransaction) { - $invoice = $groupTransaction->transaction; - $packingList = $invoice->owner; - - $this->createPaymentTransactionProcessor->execute($invoice, PaymentMethodType::WALLET, null); - - $this->updatesTransactionStatus->execute($invoice, ApprovalStatus::COMPLETED); - - $packingList->status = ApprovalStatus::APPROVED; - $packingList->save(); - - if(app()->environment('production')){ - $this->updateDoFromVTPortalProcessor->execute($packingList); - $this->updateDoFromYDPortalProcessor->execute($packingList); - } - } - - $group->status = ApprovalStatus::APPROVED; - $group->save(); - } else { - $invoice = $transaction->owner; - $packingList = $invoice->owner; - - if(($invoice->amount - $transaction->amount) < 0.01) { - $this->updatesTransactionStatus->execute($invoice, ApprovalStatus::COMPLETED); - - $packingList->status = ApprovalStatus::APPROVED; - $packingList->save(); - - if(app()->environment('production')){ - $this->updateDoFromVTPortalProcessor->execute($packingList); - $this->updateDoFromYDPortalProcessor->execute($packingList); - } - } - } - } - + $this->callbackBillplzProcessor->execute($transaction, $status); return $this->response([]); }