feat: 世界杯48强夺冠盘、管理端调赔与项目文档
- 固定48强基准数据、同步种子与后台世界杯夺冠页 - 补全 user_preferences 迁移文件;新增启动指南与默认数据说明 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -19,6 +19,7 @@ import { UsersService } from '../../domains/identity/users.service';
|
||||
import { AgentsService } from '../../domains/agent/agents.service';
|
||||
import { WalletService } from '../../domains/ledger/wallet.service';
|
||||
import { MatchesService } from '../../domains/catalog/matches.service';
|
||||
import { OutrightService } from '../../domains/catalog/outright.service';
|
||||
import { MarketsService } from '../../domains/odds/markets.service';
|
||||
import { SettlementService } from '../../domains/settlement/settlement.service';
|
||||
import { CashbackService } from '../../domains/operations/cashback/cashback.service';
|
||||
@@ -245,6 +246,20 @@ class UpdateOddsDto {
|
||||
odds!: number;
|
||||
}
|
||||
|
||||
class OutrightOddsUpdateItemDto {
|
||||
@IsString()
|
||||
selectionId!: string;
|
||||
|
||||
@IsNumber()
|
||||
@Min(1.01)
|
||||
odds!: number;
|
||||
}
|
||||
|
||||
class BatchOutrightOddsDto {
|
||||
@IsArray()
|
||||
updates!: OutrightOddsUpdateItemDto[];
|
||||
}
|
||||
|
||||
class CashbackPreviewDto {
|
||||
@IsString()
|
||||
periodStart!: string;
|
||||
@@ -263,6 +278,7 @@ export class AdminController {
|
||||
private agents: AgentsService,
|
||||
private wallet: WalletService,
|
||||
private matches: MatchesService,
|
||||
private outright: OutrightService,
|
||||
private markets: MarketsService,
|
||||
private settlement: SettlementService,
|
||||
private cashback: CashbackService,
|
||||
@@ -632,6 +648,27 @@ export class AdminController {
|
||||
return jsonResponse(selection);
|
||||
}
|
||||
|
||||
@Get('outrights/wc2026')
|
||||
async getWc2026Outright() {
|
||||
const data = await this.outright.getWc2026ForAdmin();
|
||||
return jsonResponse(data);
|
||||
}
|
||||
|
||||
@Put('outrights/wc2026/odds')
|
||||
async updateWc2026OutrightOdds(
|
||||
@CurrentUser('id') operatorId: bigint,
|
||||
@Body() dto: BatchOutrightOddsDto,
|
||||
) {
|
||||
const data = await this.outright.updateWc2026Odds(dto.updates, operatorId);
|
||||
return jsonResponse(data);
|
||||
}
|
||||
|
||||
@Post('outrights/wc2026/apply-canonical')
|
||||
async applyWc2026Canonical() {
|
||||
const data = await this.outright.applyWc2026Canonical();
|
||||
return jsonResponse(data);
|
||||
}
|
||||
|
||||
@Post('matches/:id/settlement/score')
|
||||
async recordScore(
|
||||
@CurrentUser('id') operatorId: bigint,
|
||||
|
||||
Reference in New Issue
Block a user