Auto commit for release 'branch-v6.2' on 2024-12-23

This commit is contained in:
github-actions
2024-12-23 08:40:29 +01:00
parent e1785898ba
commit ddfededf02
5 changed files with 2982 additions and 2943 deletions

View File

@@ -232,7 +232,8 @@ trait AccountCollection
return $this; return $this;
} }
#[\Override] public function accountBalanceIs(string $direction, string $operator, string $value): GroupCollectorInterface #[\Override]
public function accountBalanceIs(string $direction, string $operator, string $value): GroupCollectorInterface
{ {
Log::warning(sprintf('GroupCollector will be SLOW: accountBalanceIs: "%s" "%s" "%s"', $direction, $operator, $value)); Log::warning(sprintf('GroupCollector will be SLOW: accountBalanceIs: "%s" "%s" "%s"', $direction, $operator, $value));
@@ -254,27 +255,41 @@ trait AccountCollection
$balance = Steam::finalAccountBalance(Account::find($accountId), $transaction['date']); $balance = Steam::finalAccountBalance(Account::find($accountId), $transaction['date']);
$result = bccomp($balance['balance'], $value); $result = bccomp($balance['balance'], $value);
Log::debug(sprintf('"%s" vs "%s" is %d', $balance['balance'], $value, $result)); Log::debug(sprintf('"%s" vs "%s" is %d', $balance['balance'], $value, $result));
switch ($operator) { switch ($operator) {
default: default:
Log::error(sprintf('GroupCollector: accountBalanceIs: unknown operator "%s"', $operator)); Log::error(sprintf('GroupCollector: accountBalanceIs: unknown operator "%s"', $operator));
return false; return false;
case '==': case '==':
Log::debug('Expect result to be 0 (equal)'); Log::debug('Expect result to be 0 (equal)');
return 0 === $result; return 0 === $result;
case '!=': case '!=':
Log::debug('Expect result to be -1 or 1 (not equal)'); Log::debug('Expect result to be -1 or 1 (not equal)');
return 0 !== $result; return 0 !== $result;
case '>': case '>':
Log::debug('Expect result to be 1 (greater then)'); Log::debug('Expect result to be 1 (greater then)');
return 1 === $result; return 1 === $result;
case '>=': case '>=':
Log::debug('Expect result to be 0 or 1 (greater then or equal)'); Log::debug('Expect result to be 0 or 1 (greater then or equal)');
return -1 !== $result; return -1 !== $result;
case '<': case '<':
Log::debug('Expect result to be -1 (less than)'); Log::debug('Expect result to be -1 (less than)');
return -1 === $result; return -1 === $result;
case '<=': case '<=':
Log::debug('Expect result to be -1 or 0 (less than or equal)'); Log::debug('Expect result to be -1 or 0 (less than or equal)');
return 1 !== $result; return 1 !== $result;
} }
// if($balance['balance'] $operator $value) { // if($balance['balance'] $operator $value) {

View File

@@ -1823,49 +1823,73 @@ class OperatorQuerySearch implements SearchInterface
$this->collector->setSepaCT($value); $this->collector->setSepaCT($value);
break; break;
case 'source_balance_gte': case 'source_balance_gte':
case '-source_balance_lt': case '-source_balance_lt':
$this->collector->accountBalanceIs('source', '>=', $value); $this->collector->accountBalanceIs('source', '>=', $value);
break; break;
case '-source_balance_gte': case '-source_balance_gte':
case 'source_balance_lt': case 'source_balance_lt':
$this->collector->accountBalanceIs('source', '<', $value); $this->collector->accountBalanceIs('source', '<', $value);
break; break;
case 'source_balance_gt': case 'source_balance_gt':
case '-source_balance_lte': case '-source_balance_lte':
$this->collector->accountBalanceIs('source', '>', $value); $this->collector->accountBalanceIs('source', '>', $value);
break; break;
case '-source_balance_gt': case '-source_balance_gt':
case 'source_balance_lte': case 'source_balance_lte':
$this->collector->accountBalanceIs('source', '<=', $value); $this->collector->accountBalanceIs('source', '<=', $value);
break; break;
case 'source_balance_is': case 'source_balance_is':
$this->collector->accountBalanceIs('source', '==', $value); $this->collector->accountBalanceIs('source', '==', $value);
break; break;
case '-source_balance_is': case '-source_balance_is':
$this->collector->accountBalanceIs('source', '!=', $value); $this->collector->accountBalanceIs('source', '!=', $value);
break; break;
case 'destination_balance_gte': case 'destination_balance_gte':
case '-destination_balance_lt': case '-destination_balance_lt':
$this->collector->accountBalanceIs('destination', '>=', $value); $this->collector->accountBalanceIs('destination', '>=', $value);
break; break;
case '-destination_balance_gte': case '-destination_balance_gte':
case 'destination_balance_lt': case 'destination_balance_lt':
$this->collector->accountBalanceIs('destination', '<', $value); $this->collector->accountBalanceIs('destination', '<', $value);
break; break;
case 'destination_balance_gt': case 'destination_balance_gt':
case '-destination_balance_lte': case '-destination_balance_lte':
$this->collector->accountBalanceIs('destination', '>', $value); $this->collector->accountBalanceIs('destination', '>', $value);
break; break;
case '-destination_balance_gt': case '-destination_balance_gt':
case 'destination_balance_lte': case 'destination_balance_lte':
$this->collector->accountBalanceIs('destination', '<=', $value); $this->collector->accountBalanceIs('destination', '<=', $value);
break; break;
case 'destination_balance_is': case 'destination_balance_is':
$this->collector->accountBalanceIs('destination', '==', $value); $this->collector->accountBalanceIs('destination', '==', $value);
break; break;
case '-destination_balance_is': case '-destination_balance_is':
$this->collector->accountBalanceIs('destination', '!=', $value); $this->collector->accountBalanceIs('destination', '!=', $value);
break; break;
} }