refactor:拆分 API 路由与请求校验,统一 final 类和代码风格

This commit is contained in:
2026-05-13 11:54:40 +08:00
parent 5d2dbdbe1d
commit 805847954d
281 changed files with 1886 additions and 1308 deletions

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/**
* Big / 包号展开类:命中 23 档中**最优档**计奖(产品文档 Big / iBox / mBox / Box

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/**
* head / tail / odd / even / digit_big / digit_small展开组合中若有与**头奖 4D** 完全一致则中奖(赔率档 first

View File

@@ -3,9 +3,9 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\PublishedDrawResultBoard;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/**
* 阶段 6 首轮未实现的玩法:不派奖(后续补位置类、单双等匹配器)。

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_2abc后二位命中头/二/三任意一档。 */
final class Pos2AbcSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_2a / pos_2b / pos_2c后二位命中对应档。 */
final class Pos2TierSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_3abc后三位命中头/二/三任意一档;取最优档赔率。 */
final class Pos3AbcSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_3a / pos_3b / pos_3c后三位命中对应档。头奖命中时 `matched_prize_tier` 为 firstJackpot 口径)。 */
final class Pos3TierSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_4a / pos_4b / pos_4c与对应档完整 4D 一致。 */
final class Pos4ExactTierSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/** pos_4d特别奖/ pos_4e安慰奖命中任意一组即中奖。 */
final class Pos4ListTierSettlementMatcher implements SettlementPlayMatcher

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/**
* Small仅头 / / 三奖(产品文档 Small

View File

@@ -2,12 +2,12 @@
namespace App\Services\Settlement\Matchers;
use App\Models\TicketCombination;
use App\Models\TicketItem;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\OddsSnapshotReader;
use App\Services\Settlement\PublishedDrawResultBoard;
use Illuminate\Support\Collection;
use App\Services\Settlement\Contracts\SettlementPlayMatcher;
/**
* 直选类:仅与**头奖**号码完全一致中奖(产品文档 Straight / 头奖口径)。