export interface GameEventVO {
  /**
   * 主键
   */
  eventId: string | number;

  /**
   * 赛事编号
   */
  eventCode: string;

  /**
   * 赛事名称
   */
  eventName: string;

  /**
   * 赛事类型
   */
  eventType: string;

  /**
   * 举办地点
   */
  location: string;

  /**
   * 用途
   */
  purpose: string;

  /**
   * 开始时间
   */
  startTime: string;

  /**
   * 结束时间
   */
  endTime: string;

  /**
   * 每人限报项目数
   */
  limitApplication: number;

  /**
   * 赛事链接
   */
  eventUrl: string;

  /**
   * 赛事链接Url
   */
  eventUrlUrl: string;
  /**
   * 裁判码
   */
  refereeUrl: string;

  /**
   * 裁判码Url
   */
  refereeUrlUrl: string;
  /**
   * 签到码
   */
  registerUrl: string;

  /**
   * 签到码Url
   */
  registerUrlUrl: string;
  /**
   * 举办单位
   */
  unit: string;

  /**
   * 是否默认赛事
   */
  isDefault: string;

  /**
   * 状态（0正常 1停用）
   */
  status: string;

  /**
   * 备注
   */
  remark: string;
}

export interface GameEventForm extends BaseEntity {
  /**
   * 主键
   */
  eventId?: string | number;

  /**
   * 赛事编号
   */
  eventCode?: string;

  /**
   * 赛事名称
   */
  eventName?: string;

  /**
   * 赛事类型
   */
  eventType?: string;

  /**
   * 举办地点
   */
  location?: string;

  /**
   * 用途
   */
  purpose?: string;

  /**
   * 开始时间
   */
  startTime?: string;

  /**
   * 结束时间
   */
  endTime?: string;

  /**
   * 每人限报项目数
   */
  limitApplication?: number;

  /**
   * 赛事链接
   */
  eventUrl?: string;

  /**
   * 裁判码
   */
  refereeUrl?: string;

  /**
   * 签到码
   */
  registerUrl?: string;

  /**
   * 举办单位
   */
  unit?: string;

  /**
   * 是否默认赛事
   */
  isDefault?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;

  /**
   * 备注
   */
  remark?: string;
}

export interface GameEventQuery extends PageQuery {
  /**
   * 主键
   */
  eventId?: string | number;

  /**
   * 赛事编号
   */
  eventCode?: string;

  /**
   * 赛事名称
   */
  eventName?: string;

  /**
   * 赛事类型
   */
  eventType?: string;

  /**
   * 举办地点
   */
  location?: string;

  /**
   * 用途
   */
  purpose?: string;

  /**
   * 开始时间
   */
  startTime?: string;

  /**
   * 结束时间
   */
  endTime?: string;

  /**
   * 赛事链接
   */
  eventUrl?: string;

  /**
   * 裁判码
   */
  refereeUrl?: string;

  /**
   * 签到码
   */
  registerUrl?: string;

  /**
   * 举办单位
   */
  unit?: string;

  /**
   * 是否默认赛事
   */
  isDefault?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}

// 项目进度视图对象
export interface ProjectProgressVo {
  /** 项目ID */
  projectId: number;
  /** 项目名称 */
  projectName: string;
  /** 项目类型 */
  projectType: string;
  /** 归类（0个人项目/1团体项目） */
  classification: string;
  /** 比赛场地 */
  location: string;
  /** 项目开始时间 */
  startTime: string;
  /** 项目结束时间 */
  endTime: string;
  /** 状态（0未开始 1进行中 2已完成） */
  status: string;
  /** 状态描述 */
  statusText: string;
  /** 组别信息列表 */
  groups: GroupProgressVo[];
  /** 项目进度百分比 */
  progressPercentage: number;
}

// 组别进度视图对象
export interface GroupProgressVo {
  /** 组别ID */
  groupId: number;
  /** 组别名称 */
  groupName: string;
  /** 组别开始时间 */
  beginTime: string;
  /** 组别结束时间 */
  endTime: string;
  /** 状态（0未开始 1进行中 2已完成） */
  status: string;
  /** 状态描述 */
  statusText: string;
}
