mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-27 09:21:04 -06:00
Refactor method that only counts.
This commit is contained in:
parent
42f39536a1
commit
fd1298d4d2
@ -282,9 +282,9 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
Log::debug(sprintf('%s IS today (%s)', $date->format('Y-m-d'), $this->date->format('Y-m-d')));
|
||||
|
||||
// count created journals on THIS day.
|
||||
$created = $this->repository->getJournals($recurrence, $date, $date);
|
||||
if ($created->count() > 0) {
|
||||
Log::info(sprintf('Already created %d journal(s) for date %s', $created->count(), $date->format('Y-m-d')));
|
||||
$journalCount = $this->repository->getJournalCount($recurrence, $date, $date);
|
||||
if ($journalCount > 0) {
|
||||
Log::info(sprintf('Already created %d journal(s) for date %s', $journalCount, $date->format('Y-m-d')));
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -419,8 +419,8 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
}
|
||||
|
||||
// has repeated X times.
|
||||
$journals = $this->repository->getJournals($recurrence, null, null);
|
||||
if (0 !== $recurrence->repetitions && $journals->count() >= $recurrence->repetitions) {
|
||||
$journalCount = $this->repository->getJournalCount($recurrence, null, null);
|
||||
if (0 !== $recurrence->repetitions && $journalCount >= $recurrence->repetitions) {
|
||||
Log::info(sprintf('Recurrence #%d has run %d times, so will run no longer.', $recurrence->id, $recurrence->repetitions));
|
||||
|
||||
return false;
|
||||
|
@ -145,9 +145,9 @@ class RecurringRepository implements RecurringRepositoryInterface
|
||||
* @param Carbon|null $start
|
||||
* @param Carbon|null $end
|
||||
*
|
||||
* @return Collection
|
||||
* @return int
|
||||
*/
|
||||
public function getJournals(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): Collection
|
||||
public function getJournalCount(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): int
|
||||
{
|
||||
$query = TransactionJournal
|
||||
::leftJoin('journal_meta', 'journal_meta.transaction_journal_id', '=', 'transaction_journals.id')
|
||||
@ -162,7 +162,7 @@ class RecurringRepository implements RecurringRepositoryInterface
|
||||
$query->where('transaction_journals.date', '<=', $end->format('Y-m-d 00:00:00'));
|
||||
}
|
||||
|
||||
return $query->get(['transaction_journals.*']);
|
||||
return $query->get(['transaction_journals.*'])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -79,15 +79,15 @@ interface RecurringRepositoryInterface
|
||||
public function getCategory(RecurrenceTransaction $recTransaction): ?string;
|
||||
|
||||
/**
|
||||
* Returns the journals created for this recurrence, possibly limited by time.
|
||||
* Returns the count of journals created for this recurrence, possibly limited by time.
|
||||
*
|
||||
* @param Recurrence $recurrence
|
||||
* @param Carbon|null $start
|
||||
* @param Carbon|null $end
|
||||
*
|
||||
* @return Collection
|
||||
* @return int
|
||||
*/
|
||||
public function getJournals(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): Collection;
|
||||
public function getJournalCount(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): int;
|
||||
|
||||
/**
|
||||
* Get the notes.
|
||||
|
Loading…
Reference in New Issue
Block a user