feat: 新增赔率版本和玩法配置版本的删除接口,支持删除草稿版本
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Services\Draw;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Draw;
|
||||
use App\Models\RiskPool;
|
||||
use App\Lottery\DrawStatus;
|
||||
use App\Models\DrawResultItem;
|
||||
use App\Models\DrawResultBatch;
|
||||
@@ -144,6 +145,33 @@ final class DrawHallSnapshotBuilder
|
||||
'seconds_remaining_in_cooldown' => $coolingRemain,
|
||||
];
|
||||
|
||||
$riskAlerts = RiskPool::query()
|
||||
->where('draw_id', $target->id)
|
||||
->where(function ($q): void {
|
||||
$q->where('sold_out_status', 1)
|
||||
->orWhereRaw('(locked_amount * 1.0 / NULLIF(total_cap_amount, 0)) >= 0.8');
|
||||
})
|
||||
->orderByRaw('(locked_amount * 1.0 / NULLIF(total_cap_amount, 0)) DESC')
|
||||
->orderByDesc('locked_amount')
|
||||
->orderBy('normalized_number')
|
||||
->limit(500)
|
||||
->get(['normalized_number', 'total_cap_amount', 'locked_amount', 'remaining_amount', 'sold_out_status'])
|
||||
->map(fn ($row) => [
|
||||
'normalized_number' => (string) $row->normalized_number,
|
||||
'total_cap_amount' => (int) $row->total_cap_amount,
|
||||
'locked_amount' => (int) $row->locked_amount,
|
||||
'remaining_amount' => (int) $row->remaining_amount,
|
||||
'sold_out_status' => (int) $row->sold_out_status,
|
||||
'is_sold_out' => (int) $row->sold_out_status === 1,
|
||||
'usage_ratio' => (int) $row->total_cap_amount > 0
|
||||
? round(((int) $row->locked_amount) / (int) $row->total_cap_amount, 6)
|
||||
: null,
|
||||
])
|
||||
->values()
|
||||
->all();
|
||||
|
||||
$payload['risk_pool_alerts'] = $riskAlerts;
|
||||
|
||||
if ($this->showsPublishedResults((string) $target->status)) {
|
||||
$batchId = DrawResultBatch::query()
|
||||
->where('draw_id', $target->id)
|
||||
|
||||
Reference in New Issue
Block a user