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\Http\Controllers\Api\V1\Admin\Risk;
use App\Models\BetProvider;
use App\Models\Draw;
use App\Models\RiskPool;
use App\Lottery\ErrorCode;
@@ -30,8 +31,11 @@ final class AdminRiskPoolShowController extends Controller
);
}
$providerCode = strtoupper(trim((string) $request->query('provider_code', BetProvider::DEFAULT_CODE)));
$pool = RiskPool::query()
->where('draw_id', $draw->id)
->where('provider_code', $providerCode)
->where('normalized_number', $number_4d)
->first();
@@ -49,6 +53,7 @@ final class AdminRiskPoolShowController extends Controller
/** @var LengthAwarePaginator $paginator */
$paginator = RiskPoolLockLog::query()
->where('draw_id', $draw->id)
->where('provider_code', $providerCode)
->where('normalized_number', $number_4d)
->with(['ticketItem:id,ticket_no,play_code,player_id'])
->orderByDesc('created_at')
@@ -66,6 +71,7 @@ final class AdminRiskPoolShowController extends Controller
'draw_no' => $draw->draw_no,
'currency_code' => $currencyCode !== '' ? $currencyCode : null,
'pool' => [
'provider_code' => $pool->provider_code ?? BetProvider::DEFAULT_CODE,
'normalized_number' => $pool->normalized_number,
'total_cap_amount' => $cap,
'locked_amount' => $locked,
@@ -84,6 +90,7 @@ final class AdminRiskPoolShowController extends Controller
{
return [
'id' => (int) $log->id,
'provider_code' => $log->provider_code ?? BetProvider::DEFAULT_CODE,
'action_type' => $log->action_type,
'amount' => (int) $log->amount,
'source_reason' => $log->source_reason,