feat: 重构注单控制器以复用共享筛选逻辑

新增 TicketItemListFilters trait,用于封装注单列表的通用筛选逻辑。
更新 AdminPlayerTicketItemsIndexController、AdminTicketItemIndexController 与 TicketItemsIndexController,统一使用新的注单编号搜索与订单日期范围筛选方法,提升代码复用性与可读性。
增强 AdminRiskPoolManualStatusController:支持发布手动停售状态变更通知。
优化 RiskPoolService 与 TicketWalletService:钱包资金变动后实时通知余额更新。
更新测试用例,确保重构后功能行为保持一致。
This commit is contained in:
2026-05-26 17:14:19 +08:00
parent 36e50383ba
commit 618201f980
12 changed files with 408 additions and 84 deletions

View File

@@ -104,17 +104,20 @@ function ticketItemsPublishAndSettle(Draw $draw, string $firstNumber): void
}
test('jackpot summary is public', function (): void {
JackpotPool::query()->create([
'currency_code' => 'NPR',
'current_amount' => 1_234_000,
'contribution_rate' => '0.0100',
'trigger_threshold' => 0,
'payout_rate' => '0.5000',
'force_trigger_draw_gap' => 0,
'min_bet_amount' => 0,
'status' => 1,
'last_trigger_draw_id' => null,
]);
// 迁移 seed_default_jackpot_pools 已插入 NPR 池,须 upsert 避免 UNIQUE(currency_code)
JackpotPool::query()->updateOrCreate(
['currency_code' => 'NPR'],
[
'current_amount' => 1_234_000,
'contribution_rate' => '0.0100',
'trigger_threshold' => 0,
'payout_rate' => '0.5000',
'force_trigger_draw_gap' => 0,
'min_bet_amount' => 0,
'status' => 1,
'last_trigger_draw_id' => null,
],
);
$this->getJson('/api/v1/jackpot/summary?currency_code=NPR')
->assertOk()