feat(risk): 支持按开注商隔离风险池并新增经营报表
This commit is contained in:
@@ -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\Models\TicketOrder;
|
||||
@@ -25,9 +26,13 @@ final class AdminRiskPoolIndexController extends Controller
|
||||
$highRiskOnly = $request->boolean('high_risk_only');
|
||||
$activeOnly = $request->boolean('active_only');
|
||||
$number = trim((string) $request->query('normalized_number', ''));
|
||||
$providerCode = strtoupper(trim((string) $request->query('provider_code', '')));
|
||||
$sort = trim((string) $request->query('sort', 'usage_desc'));
|
||||
|
||||
$q = RiskPool::query()->where('draw_id', $draw->id);
|
||||
if ($providerCode !== '') {
|
||||
$q->where('provider_code', $providerCode);
|
||||
}
|
||||
|
||||
if ($soldOutOnly) {
|
||||
$q->where('sold_out_status', 1);
|
||||
@@ -47,11 +52,12 @@ final class AdminRiskPoolIndexController extends Controller
|
||||
}
|
||||
|
||||
match ($sort) {
|
||||
'locked_desc' => $q->orderByDesc('locked_amount')->orderBy('normalized_number'),
|
||||
'remaining_asc' => $q->orderBy('remaining_amount')->orderBy('normalized_number'),
|
||||
'number_asc' => $q->orderBy('normalized_number'),
|
||||
'locked_desc' => $q->orderByDesc('locked_amount')->orderBy('provider_code')->orderBy('normalized_number'),
|
||||
'remaining_asc' => $q->orderBy('remaining_amount')->orderBy('provider_code')->orderBy('normalized_number'),
|
||||
'number_asc' => $q->orderBy('provider_code')->orderBy('normalized_number'),
|
||||
default => $q->orderByRaw('(locked_amount * 1.0 / NULLIF(total_cap_amount, 0)) DESC')
|
||||
->orderByDesc('locked_amount')
|
||||
->orderBy('provider_code')
|
||||
->orderBy('normalized_number'),
|
||||
};
|
||||
|
||||
@@ -76,6 +82,7 @@ final class AdminRiskPoolIndexController extends Controller
|
||||
$locked = (int) $pool->locked_amount;
|
||||
|
||||
return [
|
||||
'provider_code' => $pool->provider_code ?? BetProvider::DEFAULT_CODE,
|
||||
'normalized_number' => $pool->normalized_number,
|
||||
'total_cap_amount' => $cap,
|
||||
'locked_amount' => $locked,
|
||||
|
||||
Reference in New Issue
Block a user