CaiWuXiTong/app/Utilities/FinanceLedgerIndependentAccounts.php

37 lines
933 B
PHP

<?php
namespace App\Utilities;
use Illuminate\Database\Query\Builder;
/**
* 独立月度账单账户。
*
* 这些账户的明细只在动账明细专属页展示和汇总,不进入账户总表、每日资金流水、
* 店铺收支明细或其他动账汇总。
*/
final class FinanceLedgerIndependentAccounts
{
public const ACCOUNTS = [
'朱俊祥支付宝',
'朱俊祥微信',
];
public static function contains(mixed $accountShort): bool
{
return in_array(trim((string) $accountShort), self::ACCOUNTS, true);
}
public static function names(): array
{
return self::ACCOUNTS;
}
public static function exclude(Builder $query, string $column = 'account_short'): Builder
{
return $query->where(function (Builder $scope) use ($column): void {
$scope->whereNull($column)->orWhereNotIn($column, self::ACCOUNTS);
});
}
}