export interface TrainingVideoVO {
  id?: string | number;
  trainingId?: string | number;
  name?: string;
  ossId?: string | number;
  fileUrl?: string;
  fileSize?: string;
  fileType?: string;
  duration?: string;
  sortOrder?: number;
}

export interface TrainingUploadResult {
  ossId?: string | number;
  fileName?: string;
  url?: string;
  originalName?: string;
}

export interface TrainingParticipantVO {
  studentId?: string | number;
  name?: string;
  mobile?: string;
  avatar?: string | number;
  avatarUrl?: string;
  enrollTime?: string;
  checkInTime?: string;
}

export interface TrainingLearnRecordVO {
  studentId?: string | number;
  name?: string;
  mobile?: string;
  avatar?: string | number;
  avatarUrl?: string;
  learnedTime?: number;
  remainingTime?: number;
  progress?: number;
  finishTime?: string;
  lastLearnTime?: string;
}

export interface TrainingVO {
  id: string | number;
  trainingType: string;
  name: string;
  description?: string;
  thumbnail?: string | number;
  thumbnailUrl?: string;
  jobType?: string;
  jobLevel?: string;
  job?: string;
  sortOrder?: number;
  status: number;
  duration?: string;
  publishTime?: string;
  city?: string;
  area?: string;
  addressDetail?: string;
  trainingStartTime?: string;
  trainingEndTime?: string;
  applyStartTime?: string;
  applyEndTime?: string;
  organizer?: string;
  tags?: string;
  remark?: string;
  createTime?: string;
  learnCount?: number;
  participantCount?: number;
  videoList?: TrainingVideoVO[];
}

export interface TrainingQuery extends PageQuery {
  trainingType?: string;
  name?: string;
  status?: number;
  jobType?: string;
  jobLevel?: string;
}

export interface TrainingForm {
  id?: string | number;
  trainingType?: string;
  name?: string;
  description?: string;
  thumbnail?: string | number;
  jobType?: string;
  jobLevel?: string;
  job?: string;
  sortOrder?: number;
  status?: number;
  duration?: string;
  city?: string;
  area?: string;
  addressDetail?: string;
  trainingStartTime?: string;
  trainingEndTime?: string;
  applyStartTime?: string;
  applyEndTime?: string;
  organizer?: string;
  tags?: string;
  remark?: string;
  videoList?: TrainingVideoVO[];
}
