![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/old.fdshops.com.ng/app/Listeners/ |
<?php namespace App\Listeners; use App\AccountTransaction; use App\Events\TransactionPaymentAdded; use App\Utils\ModuleUtil; use App\Utils\TransactionUtil; class AddAccountTransaction { protected $transactionUtil; protected $moduleUtil; /** * Constructor * * @param TransactionUtil $transactionUtil * @return void */ public function __construct(TransactionUtil $transactionUtil, ModuleUtil $moduleUtil) { $this->transactionUtil = $transactionUtil; $this->moduleUtil = $moduleUtil; } /** * Handle the event. * * @param object $event * @return void */ public function handle(TransactionPaymentAdded $event) { //echo "<pre>";print_r($event->transactionPayment->toArray());exit; if ($event->transactionPayment->method == 'advance') { $this->transactionUtil->updateContactBalance($event->transactionPayment->payment_for, $event->transactionPayment->amount, 'deduct'); } if (! $this->moduleUtil->isModuleEnabled('account', $event->transactionPayment->business_id)) { return true; } // //Create new account transaction if (! empty($event->formInput['account_id']) && $event->transactionPayment->method != 'advance') { $type = ! empty($event->transactionPayment->payment_type) ? $event->transactionPayment->payment_type : AccountTransaction::getAccountTransactionType($event->formInput['transaction_type']); $account_transaction_data = [ 'amount' => $event->formInput['amount'], 'account_id' => $event->formInput['account_id'], 'type' => $type, 'operation_date' => $event->transactionPayment->paid_on, 'created_by' => $event->transactionPayment->created_by, 'transaction_id' => $event->transactionPayment->transaction_id, 'transaction_payment_id' => $event->transactionPayment->id, ]; //If change return then set type as debit if ($event->formInput['transaction_type'] == 'sell' && isset($event->formInput['is_return']) && $event->formInput['is_return'] == 1) { $account_transaction_data['type'] = 'debit'; } if ($event->formInput['transaction_type'] == 'hms_booking' && isset($event->formInput['is_return']) && $event->formInput['is_return'] == 1) { $account_transaction_data['type'] = 'debit'; } AccountTransaction::createAccountTransaction($account_transaction_data); } } }