feat(lottery): 扩展传统马来赔率、玩法结算与开注商短码支持
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 17:04:28 +08:00
parent 2ea3e810a0
commit cbb18b976f
24 changed files with 320 additions and 45 deletions

View File

@@ -39,9 +39,9 @@ final class TicketPreviewService
$currencyCode = strtoupper((string) $payload['currency_code']);
$this->assertCreditCurrencyMatchesPlayer($player, $currencyCode);
$providers = $this->betProviderResolver->resolve(
is_array($payload['provider_codes'] ?? null) ? $payload['provider_codes'] : null,
);
$fallbackProviderCodes = is_array($payload['provider_codes'] ?? null)
? $payload['provider_codes']
: null;
$lines = [];
$totalBet = 0;
@@ -52,6 +52,9 @@ final class TicketPreviewService
$closedPlayCleanupRows = [];
foreach ((array) $payload['lines'] as $index => $line) {
$providers = $this->betProviderResolver->resolve(
is_array($line['provider_codes'] ?? null) ? $line['provider_codes'] : $fallbackProviderCodes,
);
foreach ($providers as $provider) {
try {
$resolved = $this->catalogResolver->resolve((string) $line['play_code'], $currencyCode, (string) $provider['code']);