export interface JobInfoVO extends BaseEntity {
  id: number | string;
  jobGroup: number | string;
  jobDesc: string;
  addTime: string;
  updateTime: string;
  author: string;
  alarmEmail: string;
  scheduleType: string;           // 调度类型
  scheduleConf: string;           // 调度配置，值含义取决于调度类型
  misfireStrategy: string;        // 调度过期策略
  executorRouteStrategy: string;
  executorHandler: string;
  executorParam: string;
  executorBlockStrategy: string;
  executorTimeout: number;
  executorFailRetryCount: number;
  glueType: string;
  glueSource: string;
  glueRemark: string;
  glueUpdatetime: string;
  childJobId: string;
  triggerStatus: number;
  triggerLastTime: number;
  triggerNextTime: number;
  // 扩展字段
  jobGroupName: string;
  executorAddress: string;
}

export interface JobInfoForm {
  id: number | string | undefined;
  jobGroup: number | string;
  jobDesc: string;
  author: string;
  alarmEmail: string;
  scheduleType: string;           // 调度类型
  scheduleConf: string;           // 调度配置
  misfireStrategy: string;        // 调度过期策略
  executorRouteStrategy: string;
  executorHandler: string;
  executorParam: string;
  executorBlockStrategy: string;
  executorTimeout: number;
  executorFailRetryCount: number;
  glueType: string;
  glueSource: string;
  glueRemark: string;
  childJobId: string;
}

export interface JobInfoQuery extends PageQuery {
  jobGroup: number | string;
  jobDesc: string;
  executorHandler: string;
  author: string;
  triggerStatus: number | string;
}

// 执行器组
export interface JobGroupVO {
  id: number | string;
  appname: string;
  title: string;
  addressType: number;
  addressList: string;
  updateTime: string;
  registryList: string[];
}

// 路由策略选项
export interface RouteStrategyOption {
  value: string;
  label: string;
}

// 阻塞处理策略选项
export interface BlockStrategyOption {
  value: string;
  label: string;
}

// Glue类型选项
export interface GlueTypeOption {
  value: string;
  label: string;
}
