2019-11-16 10:21:14 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Jobs\Banking;
|
|
|
|
|
|
|
|
use App\Abstracts\Job;
|
2021-09-06 11:53:57 +03:00
|
|
|
use App\Interfaces\Job\ShouldDelete;
|
2019-11-16 10:21:14 +03:00
|
|
|
use App\Models\Banking\Transaction;
|
|
|
|
|
2021-09-06 11:53:57 +03:00
|
|
|
class DeleteReconciliation extends Job implements ShouldDelete
|
2019-11-16 10:21:14 +03:00
|
|
|
{
|
2021-09-06 11:53:57 +03:00
|
|
|
public function handle(): bool
|
2019-11-16 10:21:14 +03:00
|
|
|
{
|
2020-06-26 13:40:19 +03:00
|
|
|
\DB::transaction(function () {
|
2021-09-06 11:53:57 +03:00
|
|
|
$this->model->delete();
|
2019-11-16 10:21:14 +03:00
|
|
|
|
2021-09-06 11:53:57 +03:00
|
|
|
Transaction::where('account_id', $this->model->account_id)
|
2020-08-20 12:55:59 +03:00
|
|
|
->isReconciled()
|
2021-09-06 11:53:57 +03:00
|
|
|
->whereBetween('paid_at', [$this->model->started_at, $this->model->ended_at])->each(function ($transaction) {
|
2020-06-26 13:40:19 +03:00
|
|
|
$transaction->reconciled = 0;
|
|
|
|
$transaction->save();
|
|
|
|
});
|
|
|
|
});
|
2019-11-16 10:21:14 +03:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|