feat: enhance configuration and logging for admin services
Some checks failed
lotterLaravel CI / test (push) Has been cancelled

- Updated .env.example to enable Redis Lua for lottery risk pool and added configuration for agent settlement.
- Improved AGENTS.md to clarify site operations and admin roles.
- Enhanced PHPUnit configuration with memory limit and cache directory settings.
- Refactored AdminReportQueryService and related services to utilize LimitedQuery for better data handling and truncation warnings.
- Added logging for draw settlement failures in DrawTickService.
- Introduced credit preflight checks and reverse bet hold functionality in PlayerCreditService.
- Improved risk pool management with new Redis lock handling in RiskPoolService and TicketPlacementService.
This commit is contained in:
2026-06-16 17:08:10 +08:00
parent 4e370a79dc
commit b496a9457c
16 changed files with 423 additions and 494 deletions

View File

@@ -9,6 +9,7 @@ use App\Models\WalletTxn;
use Illuminate\Support\Str;
use App\Support\AdminDataScope;
use App\Support\CurrencyFormatter;
use App\Support\LimitedQuery;
use App\Support\PlayerFundingMode;
use App\Services\AgentSettlement\CreditLedgerBetFlowPresenter;
use App\Services\AgentSettlement\SettlementPartyEnrichment;
@@ -100,14 +101,15 @@ final class PlayerLedgerLogsService
}
$currency = (string) $player->default_currency;
$rawRows = $this->creditLedgerQuery($player->id, [
$limited = LimitedQuery::get($this->creditLedgerQuery($player->id, [
'bet_hold',
'bet_hold_release',
'game_settlement_loss',
'game_settlement_win',
'settlement_confirm',
'settlement_payout',
])->limit(5000)->get()->all();
]), 5000);
$rawRows = $limited['rows']->all();
$enriched = array_map(function (object $row) use ($player): object {
return (object) [
@@ -196,6 +198,7 @@ final class PlayerLedgerLogsService
'total' => $total,
'page' => $page,
'per_page' => $perPage,
'truncated' => $limited['truncated'],
];
}