From f1c939498752f3b9bb0d175bf12cae784841b97b Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:01:29 +0800 Subject: [PATCH 01/16] debug update group rate --- .../ControllersLogic/UpdateGroupLogic.php | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 34efe196..d18096db 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -106,23 +106,25 @@ class UpdateGroupLogic extends AbstractControllerLogic $serviceCharge = $this->calculatesTransactionServiceCharge->execute($transaction->original_amount, $rate, $constant); $object = new TransactionObject( - $transaction->bill_no, - TransactionType::BILL, - $supplier->id, + $transaction->bill_no, + TransactionType::BILL, + $supplier->id, 1, - $supplier->banks()->where('default', true)->first()->id, + $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, - $transaction->original_amount * (1 / $rate), - $transaction->original_amount, - 1, + $transaction->original_amount * (1 / $rate), + $transaction->original_amount, + 1, $transaction->original_currency_id, - $rate, - 0, - $serviceCharge, - null, + $rate, + 0, + $serviceCharge, + null, ApprovalStatus::PENDING_VERIFICATION ); + dd($transaction, $object); + $billTransaction = $this->updatesTransaction->execute($transaction, $object); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); @@ -130,20 +132,20 @@ class UpdateGroupLogic extends AbstractControllerLogic $transferFee = $this->calculatesTransactionTransferFee->execute($billTransaction->original_amount, $constant); $object = new TransactionObject( - $transferTransaction->bill_no, + $transferTransaction->bill_no, TransactionType::TRANSFER_FEE, $supplier->id, 1, - $supplier->banks()->where('default', true)->first()->id, + $supplier->banks()->where('default', true)->first()->id, PaymentMethodType::CASH, - $transaction->original_amount, - $transaction->original_amount, - $transaction->original_currency_id, + $transaction->original_amount, + $transaction->original_amount, $transaction->original_currency_id, - 1, - 0, - $transferFee, - null, + $transaction->original_currency_id, + 1, + 0, + $transferFee, + null, ApprovalStatus::PENDING_VERIFICATION ); @@ -182,4 +184,4 @@ class UpdateGroupLogic extends AbstractControllerLogic return $this->resourceResponse(new GroupResource($group)); } -} \ No newline at end of file +} From a084f61553dc46e2b6d9568fa814e91105ec18f7 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:04:32 +0800 Subject: [PATCH 02/16] debug update group rate --- .../Modules/Transactions/Services/UpdatesTransaction.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php b/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php index aba7b07a..d9dee8ca 100644 --- a/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php +++ b/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php @@ -30,4 +30,4 @@ class UpdatesTransaction extends AbstractUpdateRecord return $this->handler($transaction); } -} \ No newline at end of file +} From df28c58393a999c4097d4691121304e2a611759e Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:05:13 +0800 Subject: [PATCH 03/16] debug update group rate --- .../Modules/Transactions/ControllersLogic/UpdateGroupLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index d18096db..f6068c57 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -123,7 +123,7 @@ class UpdateGroupLogic extends AbstractControllerLogic ApprovalStatus::PENDING_VERIFICATION ); - dd($transaction, $object); + dd($transaction->group); $billTransaction = $this->updatesTransaction->execute($transaction, $object); From 3ce478e27a74af822bdf29a5eaeed7c070394ec6 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:07:36 +0800 Subject: [PATCH 04/16] debug update group rate --- app/Models/Transaction.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index a1fb0849..42cb198b 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -104,6 +104,14 @@ class Transaction extends AbstractModel implements Documentable, Transactionable return $this->HasMany(TransactionDetail::class, 'transaction_id', 'id'); } + /** + * @return HasOneThrough + */ + public function group(): HasOneThrough + { + return $this->HasOneThrough(Group::class, GroupTransaction::class); + } + public function convert_original_amount() { if($this->booking()->first()->fix_currency_id !== 1) { From 76ef289df8cd3650cac25b8a3c4252d81f9c6a35 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:08:57 +0800 Subject: [PATCH 05/16] debug update group rate --- app/Models/Transaction.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index 42cb198b..686eebe5 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -109,7 +109,7 @@ class Transaction extends AbstractModel implements Documentable, Transactionable */ public function group(): HasOneThrough { - return $this->HasOneThrough(Group::class, GroupTransaction::class); + return $this->HasOneThrough(Group::class, GroupTransaction::class, 'id', 'transaction_id'); } public function convert_original_amount() From 7959a45b3f5a8309cbe2a8abb8009a2e4ac89991 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:12:01 +0800 Subject: [PATCH 06/16] debug update group rate --- .../Transactions/ControllersLogic/UpdateGroupLogic.php | 2 +- app/Models/Transaction.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index f6068c57..104904c0 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -123,7 +123,7 @@ class UpdateGroupLogic extends AbstractControllerLogic ApprovalStatus::PENDING_VERIFICATION ); - dd($transaction->group); + dd($transaction->groupTransaction); $billTransaction = $this->updatesTransaction->execute($transaction, $object); diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index 686eebe5..0df23186 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -105,11 +105,11 @@ class Transaction extends AbstractModel implements Documentable, Transactionable } /** - * @return HasOneThrough + * @return HasOne */ - public function group(): HasOneThrough + public function groupTransaction(): HasOne { - return $this->HasOneThrough(Group::class, GroupTransaction::class, 'id', 'transaction_id'); + return $this->HasOne(GroupTransaction::class, 'transaction_id'); } public function convert_original_amount() From 18d2b2c3c19d2941fea27cf6bff9d4b2b464db4e Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:16:39 +0800 Subject: [PATCH 07/16] debug update group rate --- .../Transactions/ControllersLogic/UpdateGroupLogic.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 104904c0..6ac35387 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -123,10 +123,8 @@ class UpdateGroupLogic extends AbstractControllerLogic ApprovalStatus::PENDING_VERIFICATION ); - dd($transaction->groupTransaction); - $billTransaction = $this->updatesTransaction->execute($transaction, $object); - +dd($billTransaction); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); $transferFee = $this->calculatesTransactionTransferFee->execute($billTransaction->original_amount, $constant); From eb3770e843815a6e228a8dc1ad9fe8cdcbc684b2 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:20:05 +0800 Subject: [PATCH 08/16] debug update group rate --- .../ControllersLogic/UpdateGroupLogic.php | 12 +++++++++++- .../Transactions/Services/UpdatesTransaction.php | 6 ++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 6ac35387..96deda52 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -123,8 +123,18 @@ class UpdateGroupLogic extends AbstractControllerLogic ApprovalStatus::PENDING_VERIFICATION ); + $transaction->recipient_bank_account_id = $object->getRecipientBankAccountId(); + $transaction->payment_method = $object->getPaymentMethod(); + $transaction->amount = $object->getAmount(); + $transaction->original_amount = $object->getOriginalAmount(); + $transaction->currency_id = $object->getCurrencyId(); + $transaction->original_currency_id = $object->getOriginalCurrencyId(); + $transaction->currency_rate = $object->getCurrencyRate(); + $transaction->tax = $object->getTax(); + $transaction->service_charge = $object->getServiceCharge(); + dd($transaction); $billTransaction = $this->updatesTransaction->execute($transaction, $object); -dd($billTransaction); + $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); $transferFee = $this->calculatesTransactionTransferFee->execute($billTransaction->original_amount, $constant); diff --git a/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php b/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php index d9dee8ca..d1c5065f 100644 --- a/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php +++ b/app/Classes/Modules/Transactions/Services/UpdatesTransaction.php @@ -2,19 +2,21 @@ namespace App\Classes\Modules\Transactions\Services; +use App\Classes\Exceptions\MalformedRequestException; use App\Classes\General\Eloquent\AbstractUpdateRecord; use App\Classes\General\Eloquent\AbstractUpdateRelationshipRecord; use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject; use App\Models\Booking; use App\Models\Transaction; +use Illuminate\Database\Eloquent\Model; class UpdatesTransaction extends AbstractUpdateRecord { /** * @param Transaction $transaction * @param TransactionObject $object - * @return \Illuminate\Database\Eloquent\Model - * @throws \App\Classes\Exceptions\MalformedRequestException + * @return Model + * @throws MalformedRequestException */ public function execute(Transaction $transaction, TransactionObject $object) { $transaction->recipient_bank_account_id = $object->getRecipientBankAccountId(); From 7aa917c885e7e8e6036f00275bbea2f524572ed7 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:20:55 +0800 Subject: [PATCH 09/16] debug update group rate --- .../Modules/Transactions/ControllersLogic/UpdateGroupLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 96deda52..fad375cb 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -132,7 +132,7 @@ class UpdateGroupLogic extends AbstractControllerLogic $transaction->currency_rate = $object->getCurrencyRate(); $transaction->tax = $object->getTax(); $transaction->service_charge = $object->getServiceCharge(); - dd($transaction); + dd($transaction->save()); $billTransaction = $this->updatesTransaction->execute($transaction, $object); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); From af031a3894725a3d022fbba57e5b8b71da94550d Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:21:54 +0800 Subject: [PATCH 10/16] debug update group rate --- .../Modules/Transactions/ControllersLogic/UpdateGroupLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index fad375cb..9f78ebf0 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -132,7 +132,7 @@ class UpdateGroupLogic extends AbstractControllerLogic $transaction->currency_rate = $object->getCurrencyRate(); $transaction->tax = $object->getTax(); $transaction->service_charge = $object->getServiceCharge(); - dd($transaction->save()); + dd($transaction->dd()); $billTransaction = $this->updatesTransaction->execute($transaction, $object); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); From 1cb491271f90e8d5f5b9c1640e5c17ffa2950d0a Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:25:12 +0800 Subject: [PATCH 11/16] debug update group rate --- .../Modules/Transactions/ControllersLogic/UpdateGroupLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 9f78ebf0..5dc52ccb 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -132,7 +132,7 @@ class UpdateGroupLogic extends AbstractControllerLogic $transaction->currency_rate = $object->getCurrencyRate(); $transaction->tax = $object->getTax(); $transaction->service_charge = $object->getServiceCharge(); - dd($transaction->dd()); + dd($transaction->save()->dd()); $billTransaction = $this->updatesTransaction->execute($transaction, $object); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); From 544325ec3a43ff5c7de0bd5d30f284ccd68bc171 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:28:30 +0800 Subject: [PATCH 12/16] debug update group rate --- app/Classes/General/Traits/LogData.php | 3 +++ .../Transactions/ControllersLogic/UpdateGroupLogic.php | 10 ---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index de4b68fd..fd9859ea 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -3,6 +3,7 @@ namespace App\Classes\General\Traits; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Str; @@ -22,6 +23,8 @@ trait LogData $originalData = $model->getRawOriginal(); + Log::info($originalData); + $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']); diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php index 5dc52ccb..44ce4ae8 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateGroupLogic.php @@ -123,16 +123,6 @@ class UpdateGroupLogic extends AbstractControllerLogic ApprovalStatus::PENDING_VERIFICATION ); - $transaction->recipient_bank_account_id = $object->getRecipientBankAccountId(); - $transaction->payment_method = $object->getPaymentMethod(); - $transaction->amount = $object->getAmount(); - $transaction->original_amount = $object->getOriginalAmount(); - $transaction->currency_id = $object->getCurrencyId(); - $transaction->original_currency_id = $object->getOriginalCurrencyId(); - $transaction->currency_rate = $object->getCurrencyRate(); - $transaction->tax = $object->getTax(); - $transaction->service_charge = $object->getServiceCharge(); - dd($transaction->save()->dd()); $billTransaction = $this->updatesTransaction->execute($transaction, $object); $transferTransaction = $transaction->transactions()->where('type', TransactionType::TRANSFER_FEE)->first(); From eebe07859baf91890714e2a8096d58c38b0afffa Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:34:00 +0800 Subject: [PATCH 13/16] debug update group rate --- app/Classes/General/Traits/LogData.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index fd9859ea..0b86963b 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -23,7 +23,7 @@ trait LogData $originalData = $model->getRawOriginal(); - Log::info($originalData); + Log::info($originalData->pivot); $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']); From 0c80f1ead3f1a89e8213d3599a22b33d6968c1bb Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:34:30 +0800 Subject: [PATCH 14/16] debug update group rate --- app/Classes/General/Traits/LogData.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index 0b86963b..fd9859ea 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -23,7 +23,7 @@ trait LogData $originalData = $model->getRawOriginal(); - Log::info($originalData->pivot); + Log::info($originalData); $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']); From 8d2517ea406632d4a0dadc8b38da13bf49014d13 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:39:04 +0800 Subject: [PATCH 15/16] fix update group rate, issue related to the logdata trait, it was trying to log pivot columns --- app/Classes/General/Traits/LogData.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index fd9859ea..2dc26b77 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -28,6 +28,13 @@ trait LogData $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']); + // remove pivot columns + foreach($originalData as $key => $row){ + if(str::startsWith($key, 'pivot_')){ + unset($originalData[$key]); + } + } + if (!Schema::hasTable($tableName)) { DB::statement('CREATE TABLE '.$tableName.' LIKE '.$model->table); From fcbc55eabf1f18d6f82b5b7c5c9fb70a19e28ca0 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Tue, 17 Jan 2023 12:39:21 +0800 Subject: [PATCH 16/16] fix update group rate, issue related to the logdata trait, it was trying to log pivot columns --- app/Classes/General/Traits/LogData.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index 2dc26b77..e7c6c08b 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -23,8 +23,6 @@ trait LogData $originalData = $model->getRawOriginal(); - Log::info($originalData); - $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']);