feat: 扩展奖池、风控与报表能力,新增对账补偿、广播和人工操作接口

This commit is contained in:
2026-05-18 15:09:10 +08:00
parent 9157dcb6a1
commit 6ef41cee76
46 changed files with 1889 additions and 98 deletions

View File

@@ -12,12 +12,17 @@ use App\Services\AuditLogger;
use Illuminate\Support\Facades\DB;
use App\Support\OddsStandardScopes;
use App\Lottery\ConfigVersionStatus;
use App\Services\Draw\LotteryHallRealtimeBroadcaster;
use Illuminate\Validation\ValidationException;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
/** 后台:赔率版本({@see odds_versions} / {@see odds_items} */
final class OddsStreamService
{
public function __construct(
private readonly LotteryHallRealtimeBroadcaster $hallRealtime,
) {}
/** @return LengthAwarePaginator<int, OddsVersion> */
public function paginate(?string $status, int $perPage, int $page = 1): LengthAwarePaginator
{
@@ -138,6 +143,11 @@ final class OddsStreamService
});
$after = $this->snapshotVersion($draft->fresh(['items']));
$this->hallRealtime->notifyOddsUpdate(
(int) $draft->id,
'v'.(string) $draft->version_no,
['version_no' => (int) $draft->version_no],
);
AuditLogger::recordForAdmin(
$admin,