package com.ruoyi.cron.document;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 定时任务
 */
@Data
@Document
public class CronTask {

  @Id
  @NotNull(message = "流水编号不能为空" , groups = {EditGroup.class})
  private Long id;

  @Indexed
  private String taskId;

  @Indexed
  private Integer groupId;

  /**
   * 是否可用
   */
  @Indexed
  private Boolean enabled;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
  private Date createTime;

  /**
   * 参数表达式
   */
  private List<String> paramELs;

  /**
   * 用户编号
   */
  private Long userId;

  /**
   * 表达式
   */
  private String cron;

  /**
   * 父定时任务
   */
  private Long pid;


}
