Merge pull request #1347 from SevanNerse/dev-jobs

CreateTransaction job is improved
This commit is contained in:
Denis Duliçi 2020-03-12 14:27:18 +03:00 committed by GitHub
commit dbee33dd18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 4 deletions

View File

@ -0,0 +1,22 @@
<?php
namespace App\Events\Banking;
use Illuminate\Queue\SerializesModels;
class TransactionCreated
{
use SerializesModels;
public $transaction;
/**
* Create a new event instance.
*
* @param $transaction
*/
public function __construct($transaction)
{
$this->transaction = $transaction;
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Events\Banking;
use Illuminate\Queue\SerializesModels;
class TransactionCreating
{
use SerializesModels;
public $request;
/**
* Create a new event instance.
*
* @param $request
*/
public function __construct($request)
{
$this->request = $request;
}
}

View File

@ -4,11 +4,15 @@ namespace App\Jobs\Banking;
use App\Abstracts\Job;
use App\Models\Banking\Transaction;
use App\Events\Banking\TransactionCreated;
use App\Events\Banking\TransactionCreating;
class CreateTransaction extends Job
{
protected $request;
protected $transaction;
/**
* Create a new job instance.
*
@ -26,18 +30,22 @@ class CreateTransaction extends Job
*/
public function handle()
{
$transaction = Transaction::create($this->request->all());
event(new TransactionCreating($this->request));
$this->transaction = Transaction::create($this->request->all());
// Upload attachment
if ($this->request->file('attachment')) {
$media = $this->getMedia($this->request->file('attachment'), 'transactions');
$transaction->attachMedia($media, 'attachment');
$this->transaction->attachMedia($media, 'attachment');
}
// Recurring
$transaction->createRecurring();
$this->transaction->createRecurring();
return $transaction;
event(new TransactionCreated($this->transaction));
return $this->transaction;
}
}