From 60c6b8ea94eae5af75ef16622dd6dab75b69d9cf Mon Sep 17 00:00:00 2001 From: Dillon Date: Wed, 2 Aug 2023 22:19:14 +0800 Subject: [PATCH] Minor rewrite + debug --- app/Classes/Jobs/UpdatePerfexCRM.php | 9 ++-- .../FetchPerfexCRMInvoiceObject.php | 50 +++++++++++++++++++ ...php => FetchPerfexCRMInvoiceProcessor.php} | 20 ++++---- .../TransactionToPerfexCRMProcessorV2.php | 3 ++ 4 files changed, 67 insertions(+), 15 deletions(-) create mode 100644 app/Classes/Modules/PerfexCRM/DataTransferObjects/FetchPerfexCRMInvoiceObject.php rename app/Classes/Modules/PerfexCRM/Processors/{CreatePerfexCRMInvoiceV2Processor.php => FetchPerfexCRMInvoiceProcessor.php} (73%) diff --git a/app/Classes/Jobs/UpdatePerfexCRM.php b/app/Classes/Jobs/UpdatePerfexCRM.php index 27357552..93f536c5 100644 --- a/app/Classes/Jobs/UpdatePerfexCRM.php +++ b/app/Classes/Jobs/UpdatePerfexCRM.php @@ -3,7 +3,7 @@ namespace App\Classes\Jobs; use App\Classes\Modules\PerfexCRM\Processors\UpdatePerfexCRMProcessor; -use App\Classes\Modules\PerfexCRM\Processors\CreatePerfexCRMInvoiceV2Processor; +use App\Classes\Modules\PerfexCRM\Processors\FetchPerfexCRMInvoiceProcessor; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -11,6 +11,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use App\Classes\Modules\PerfexCRM\DataTransferObjects\UpdatePerfexCRMObject; use App\Classes\Modules\PerfexCRM\DataTransferObjects\UpdatePerfexCRMInvoiceObject; +use App\Classes\Modules\PerfexCRM\DataTransferObjects\FetchPerfexCRMInvoiceObject; use Illuminate\Support\Facades\Log; use PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean; @@ -60,14 +61,12 @@ class UpdatePerfexCRM implements ShouldQueue private function getInvoiceId(){ if($this->transaction != null){ - $updatePerfexCRMInvoiceObject = new UpdatePerfexCRMInvoiceObject( + $fetchPerfexCRMInvoiceObject = new FetchPerfexCRMInvoiceObject( $this->updatePerfexCRMObject->getContactEmail(), - $this->updatePerfexCRMObject->getProjectName(), - '', $this->transaction, true ); - $invoiceId = (App()->make(CreatePerfexCRMInvoiceV2Processor::class))->execute($updatePerfexCRMInvoiceObject); + $invoiceId = (App()->make(FetchPerfexCRMInvoiceProcessor::class))->execute($fetchPerfexCRMInvoiceObject); return $invoiceId; } return 0; diff --git a/app/Classes/Modules/PerfexCRM/DataTransferObjects/FetchPerfexCRMInvoiceObject.php b/app/Classes/Modules/PerfexCRM/DataTransferObjects/FetchPerfexCRMInvoiceObject.php new file mode 100644 index 00000000..cbb85a3e --- /dev/null +++ b/app/Classes/Modules/PerfexCRM/DataTransferObjects/FetchPerfexCRMInvoiceObject.php @@ -0,0 +1,50 @@ +email = $email; + $this->transaction = $transaction; + $this->isPaid = $isPaid; + } + + /** + * @return string + */ + public function getEmail(): string + { + return $this->email; + } + + /** + * @return Transaction + */ + public function getTransaction(): Transaction + { + return $this->transaction; + } + + /** + * @return bool + */ + public function getIsPaid(): bool + { + return $this->isPaid; + } +} diff --git a/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMInvoiceV2Processor.php b/app/Classes/Modules/PerfexCRM/Processors/FetchPerfexCRMInvoiceProcessor.php similarity index 73% rename from app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMInvoiceV2Processor.php rename to app/Classes/Modules/PerfexCRM/Processors/FetchPerfexCRMInvoiceProcessor.php index 08c74133..4e0a12f8 100644 --- a/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMInvoiceV2Processor.php +++ b/app/Classes/Modules/PerfexCRM/Processors/FetchPerfexCRMInvoiceProcessor.php @@ -6,11 +6,11 @@ namespace App\Classes\Modules\PerfexCRM\Processors; use App\Classes\Modules\PerfexCRM\Processors\CreatePerfexCRMInvoiceProcessor; use App\Classes\Modules\PerfexCRM\Services\FetchesPerfexCRMCustomer; use App\Classes\Modules\PerfexCRM\Services\FetchesPerfexCRMInvoice; -use App\Classes\Modules\PerfexCRM\DataTransferObjects\UpdatePerfexCRMInvoiceObject; +use App\Classes\Modules\PerfexCRM\DataTransferObjects\FetchPerfexCRMInvoiceObject; use Illuminate\Support\Facades\Log; use App\Classes\General\Helper; -class CreatePerfexCRMInvoiceV2Processor +class FetchPerfexCRMInvoiceProcessor { private $fetchesPerfexCRMCustomer; /** @var FetchesPerfexCRMCustomer */ @@ -23,7 +23,7 @@ class CreatePerfexCRMInvoiceV2Processor /** * - * CreatePerfexCRMInvoiceV2Processor constructor. + * FetchPerfexCRMInvoiceProcessor constructor. * @param FetchesPerfexCRMCustomer $fetchesPerfexCRMCustomer * @param FetchesPerfexCRMInvoice $fetchesPerfexCRMInvoice * @param CreatePerfexCRMInvoiceProcessor $createPerfexCRMInvoiceProcessor @@ -37,14 +37,14 @@ class CreatePerfexCRMInvoiceV2Processor $this->createPerfexCRMInvoiceProcessor = $createPerfexCRMInvoiceProcessor; } - public function execute(UpdatePerfexCRMInvoiceObject $updatePerfexCRMInvoiceObject) + public function execute(FetchPerfexCRMInvoiceObject $fetchPerfexCRMInvoiceObject) { //invoiceId to be returned - fetch or create $invoiceId = 0; //get the client id - $customer = $this->fetchesPerfexCRMCustomer->execute($updatePerfexCRMInvoiceObject->getEmail()); - $transaction = $updatePerfexCRMInvoiceObject->getTransaction(); + $customer = $this->fetchesPerfexCRMCustomer->execute($fetchPerfexCRMInvoiceObject->getEmail()); + $transaction = $fetchPerfexCRMInvoiceObject->getTransaction(); $number = $transaction->bill_no; @@ -56,14 +56,14 @@ class CreatePerfexCRMInvoiceV2Processor $number = 'EXC-'.$number; $invoice = $this->fetchesPerfexCRMInvoice->execute($customer->userid,"INV-", $number); - Log::error(json_encode('CreatePerfexCRMInvoiceV2Processor debug $number: '.$number)); + Log::error(json_encode('FetchPerfexCRMInvoiceProcessor debug $number: '.$number)); if(is_null($invoice)){ - $result = $this->createPerfexCRMInvoiceProcessor->execute($transaction, null, null, $updatePerfexCRMInvoiceObject->getIsPaid()); + $result = $this->createPerfexCRMInvoiceProcessor->execute($transaction, null, null, $fetchPerfexCRMInvoiceObject->getIsPaid()); if ($result) { $invoiceId = $result->payload['id']; } else { - $log['message'] = 'CreatePerfexCRMInvoiceV2Processor CreatePerfexCRMInvoiceProcessor failed'; - Helper::debugLoggerForPerfexCRM($log); + $log['message'] = 'FetchPerfexCRMInvoiceProcessor CreatePerfexCRMInvoiceProcessor failed'; + Helper::debugLogger($log); } } else{ diff --git a/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMProcessorV2.php b/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMProcessorV2.php index fccdaec4..65a6f545 100644 --- a/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMProcessorV2.php +++ b/app/Classes/Modules/PerfexCRM/Processors/TransactionToPerfexCRMProcessorV2.php @@ -12,6 +12,7 @@ use App\Classes\Jobs\UpdatePerfexCRMPrelude; use App\Models\Booking; use App\Models\Transaction; use Illuminate\Support\Facades\Log; +use App\Classes\General\Helper; class TransactionToPerfexCRMProcessorV2 { @@ -24,6 +25,8 @@ class TransactionToPerfexCRMProcessorV2 $projectName = 'Exchange | ' . $bookingInfo['serviceTypeName'] . ' | ' . $bookingInfo['bookingMarking']; $tasks = $this->defineTasks($model, $status); + Helper::debugLogger(json_encode($transaction)); //cief todo: to be removed + if(count($tasks) > 0) { $updatePerfexCRMObject = new UpdatePerfexCRMObject( $bookingInfo['companyName'],