import { ItemsPrize } from '@/api/system/business/items/types';

export interface TournamentsVO {
  id: string | number;
  name: string;
  startTime: string;
  endTime: string;
  pauseTime: string;
  gameType: number;
  gameVariant: number;
  startingChips: number;
  levelDuration: number;
  startBlindLevel?: number;
  lateRegistrationLevel: number;
  maxPlayers: number;
  minPlayers: number;
  rewardPlayers: number;
  totalSignup: number;
  robotCount: number;
  status: number;
  signTime: number;
  competitionIcon: string;
  itemsPrizeList?: ItemsPrize[];
  itemsConditionList?: ItemsPrize[];
  competitionBg: string;
  tournamentsBiId: string | number;
  updateUserId: string | number;
  updatedAt: string;
  createUserId: string | number;
  createdAt: string;
  isDelete: number;
  delayCardTime: number;
  delayCardNum: number;
  actionTime: number;
  targetTournamentId: string | number;
  qualifierType: number;
  qualifierValue: number;
  tournamentType?: number;
  isShow: number;
  isOffline?: number; // 👈 新增字段
  isFace: number;
}

export interface TournamentsForm extends BaseEntity {
  id?: string | number;
  name?: string;
  competitionLocation?: string;
  startTime?: string;
  endTime?: string;
  pauseTime?: string;
  gameType?: string;
  gameVariant?: string;
  startingChips?: number;
  levelDuration?: number;
  lateRegistrationLevel?: number;
  startBlindLevel?: number;
  maxPlayers?: number;
  minPlayers?: number;
  conditionNote?: string;
  rewardPlayers?: number;
  totalSignup?: number;
  robotCount?: number;
  status?: number;
  signTime?: string;
  itemsId?: number;
  itemsNum?: number;
  blindStructureId?: number;
  competitionIcon?: string;
  competitionBg?: string;
  tournamentsBiId?: string | number;
  updateUserId?: string | number;
  updatedAt?: string;
  createUserId?: string | number;
  createdAt?: string;
  isDelete?: number;
  delayCardTime?: number;
  delayCardNum?: number;
  actionTime?: number;
  targetTournamentId?: string | number;
  qualifierType?: string;
  tournamentType?: number;
  qualifierValue?: number;
  itemsPrizeList?: ItemsPrize[];
  itemsConditionList?: ItemsPrize[];
  tournamentsIntroduction?: string;
  leagueTournamentId?: number;
  leagueTournamentRegionId?: number;
  leagueTournamentRegion?: string;
  judgeId?: number[];
  isShow: number;
  isOffline?: number; // 👈 新增字段
  isFace: number;
}

export interface TournamentsQuery extends PageQuery {
  id?: string;
  name?: string;
  startTime?: string;
  startTimeOne?: string;
  endTime?: string;
  pauseTime?: string;
  startBlindLevel?: number;
  gameType?: number;
  gameVariant?: number;
  startingChips?: number;
  levelDuration?: number;
  lateRegistrationLevel?: number;
  maxPlayers?: number;
  minPlayers?: number;
  rewardPlayers?: number;
  totalSignup?: number;
  robotCount?: number;
  status?: number;
  signTime?: number;
  competitionIcon?: string;
  competitionBg?: string;
  tournamentsBiId?: string | number;
  updateUserId?: string | number;
  updatedAt?: string;
  createUserId?: string | number;
  createdAt?: string;
  isDelete?: number;
  delayCardTime?: number;
  delayCardNum?: number;
  actionTime?: number;
  targetTournamentId?: string | number;
  qualifierType?: number;
  qualifierValue?: number;
  tournamentType?: number;
  isShow: number;
  isOffline?: number; // 👈 新增字段
  params?: any;
  leagueTournamentId?: string | number;
  isFace: number;
}
