From 74cf3acd3ec04539a8c16809d2557efd5b5872ed Mon Sep 17 00:00:00 2001 From: edmondlang Date: Mon, 10 Jul 2023 20:59:01 +0800 Subject: [PATCH] update accounting mapping --- .../UpdateBankStatementDetailLogic.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/Classes/Modules/Accounting/ControllersLogic/UpdateBankStatementDetailLogic.php b/app/Classes/Modules/Accounting/ControllersLogic/UpdateBankStatementDetailLogic.php index 63338ace..71e8ba41 100644 --- a/app/Classes/Modules/Accounting/ControllersLogic/UpdateBankStatementDetailLogic.php +++ b/app/Classes/Modules/Accounting/ControllersLogic/UpdateBankStatementDetailLogic.php @@ -7,13 +7,16 @@ use App\Classes\Exceptions\MalformedRequestException; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Accounting\Services\CreatesBankStatementTransactionOwner; use App\Classes\Modules\Accounting\Services\FetchesBankStatementTransaction; +use App\Classes\Modules\Accounting\Processors\ListShippingPortalTransactions; use App\Classes\ValueObjects\Constants\StatementTransactionOwnerType; use App\Classes\ValueObjects\Constants\SystemType; use App\Classes\Modules\Accounting\Processors\ChecksBillNumber; +use App\Classes\ValueObjects\Constants\ShippingTransactionType; use App\Classes\ValueObjects\Constants\TransactionType; use App\Models\Booking; use App\Models\Transaction; use App\Models\Wallet; +use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -104,10 +107,18 @@ class UpdateBankStatementDetailLogic extends AbstractControllerLogic } if($systemReference === 'izyim') { - $transaction = $transaction[0]; - $owner_type = Transaction::class; - $owner_id = $transaction['owner_id']; - $owner_reference = $transaction['owner_reference']; + $transaction = $transaction[0]; + $payFor = $request->input('pay_for'); + $transactionType = $transaction['type']; + + if (($payFor === 'sales' && !in_array($transactionType, [ShippingTransactionType::PAYMENT, ShippingTransactionType::GROUP_PAYMENT])) + || ($payFor === 'top_up' && !in_array($transactionType, [ShippingTransactionType::TOP_UP]))) { + throw new Exception("Transaction Type does not match"); + } + + $owner_type = Transaction::class; + $owner_id = $transaction['owner_id']; + $owner_reference = $transaction['owner_reference']; } }