feat(risk): 支持按开注商隔离风险池并新增经营报表
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled

This commit is contained in:
2026-07-10 10:23:30 +08:00
parent d4779660c8
commit 2ea3e810a0
31 changed files with 610 additions and 58 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Services\Ticket;
use App\Models\BetProvider;
use App\Models\Draw;
use App\Models\RiskPool;
use App\Services\Draw\LotteryHallRealtimeBroadcaster;
@@ -22,12 +23,17 @@ final class RiskPoolRealtimePublisher
public function publishAfterLock(
int $drawId,
string $providerCode,
string $normalizedNumber,
int $soldOutStatusBefore,
int $lockedAmountBefore,
int $totalCapBefore,
RiskPool $poolAfter,
): void {
if (strtoupper(trim($providerCode)) !== BetProvider::DEFAULT_CODE) {
return;
}
$drawNo = $this->resolveDrawNo($drawId);
$normalizedNumber = strtoupper(trim($normalizedNumber));
@@ -55,8 +61,12 @@ final class RiskPoolRealtimePublisher
}
}
public function publishManualSoldOut(Draw $draw, string $normalizedNumber): void
public function publishManualSoldOut(Draw $draw, string $normalizedNumber, string $providerCode): void
{
if (strtoupper(trim($providerCode)) !== BetProvider::DEFAULT_CODE) {
return;
}
$this->hallRealtime->notifyRiskSoldOut(
(int) $draw->id,
(string) $draw->draw_no,