diff --git a/app/Classes/Jobs/Commands/V2/ReleaseGoodsToCustomerV2CommandJob.php b/app/Classes/Jobs/Commands/V2/ReleaseGoodsToCustomerV2CommandJob.php new file mode 100644 index 00000000..996805d1 --- /dev/null +++ b/app/Classes/Jobs/Commands/V2/ReleaseGoodsToCustomerV2CommandJob.php @@ -0,0 +1,47 @@ +invoice = $invoice; + } + + public function handle() + { + Log::info(Carbon::now() . ': Start job - Release goods to customer.'); + $start = new Carbon(); + + try{ + $obj = json_encode($this->invoice); + Log::info("Processing Order - ID: {$this->invoice->id}, invoice: {$obj}"); + $pL = $this->invoice->owner; + (App()->make(ReleaseGoodsToCustomerProcessor::class))->execute($pL, $this->invoice); + } + catch(\Exception $ex){ + Log::info('Exception '.$ex->getMessage()); + } + + $end = new Carbon(); + $elapsedTime = $start->diff($end)->format('%H:%I:%S'); + Log::info(Carbon::now() . ': End job - Release goods to customer. ElapsedTime: ' . $elapsedTime . '.'); + } +} diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateGroupsLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateGroupsLogic.php index 135ae29d..626dadf2 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateGroupsLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateGroupsLogic.php @@ -5,6 +5,7 @@ namespace App\Classes\Modules\Transactions\ControllersLogic; use App\Classes\Exceptions\MalformedRequestException; use App\Classes\General\Abstracts\AbstractControllerLogic; +use App\Classes\Jobs\Commands\V2\ReleaseGoodsToCustomerV2CommandJob; use App\Classes\Modules\Transactions\Services\FetchesTransaction; use App\Classes\Modules\Transactions\Services\GeneratesTransactionBillNumber; use App\Classes\Modules\Companies\Services\FetchesCompanyModule; @@ -23,7 +24,7 @@ use App\Http\Resources\WalletTransactionResource; use App\Models\Wallet; use App\Classes\Modules\Transactions\Processors\ReleaseGoodsToCustomerProcessor; use App\Classes\Modules\Transactions\Processors\CheckStorageInvoiceTransactionProcessor; - +use Illuminate\Support\Facades\Log; class CreateGroupsLogic extends AbstractControllerLogic { @@ -226,8 +227,11 @@ class CreateGroupsLogic extends AbstractControllerLogic $paymentTransaction = $this->createPaymentTransactionProcessor->execute($invoice, PaymentMethodType::WALLET, $reqBankCode, false); if($paymentTransaction && $paymentTransaction->status == ApprovalStatus::APPROVED){ - $pL = $invoice->owner; - $this->releaseGoodsToCustomerProcessor->execute($pL, $invoice); + // $pL = $invoice->owner; + // $this->releaseGoodsToCustomerProcessor->execute($pL, $invoice); + $obj = json_encode($invoice); + Log::info("Preparing to release goods for invoice: {$obj}"); + ReleaseGoodsToCustomerV2CommandJob::dispatch($invoice); } }