package com.docus.server.entity.auth;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.docus.server.enums.CollectTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 主动任务测试对象
 * </p>
 *
 * @author AutoGenerator
 * @since 2023-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("task_config_test")
@ApiModel(value = "TaskConfigTest对象", description = "主动任务测试对象")
public class TaskConfigTest implements Serializable {

    @ApiModelProperty(value = "")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private Long id;

    @ApiModelProperty(value = "任务名字")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "任务重试键")
    @TableField("retry_key")
    private String retryKey;

    @ApiModelProperty(value = "任务类型。 dept，user....")
    @TableField("type")
    private CollectTypeEnum type;

    @ApiModelProperty(value = "任务描述")
    @TableField("memo")
    private String memo;

    @ApiModelProperty(value = "数据起始时间范围")
    @TableField("start_time")
    private Date startTime;

    @ApiModelProperty(value = "数据结束时间范围")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty(value = "指针时间，当前全量任务的任务执行到的时间")
    @TableField("all_pointer_time")
    private Date allPointerTime;

    @ApiModelProperty(value = "每页大小")
    @TableField("page_size")
    private Double pageSize;

    @ApiModelProperty(value = "时间分割周期，把起始时间结束时间进行分割，单位为秒")
    @TableField("spilt_period")
    private String spiltPeriod;

    @ApiModelProperty(value = "指针时间，当前增量任务的执行到的时间")
    @TableField("inc_pointer_time")
    private Date incPointerTime;

    @ApiModelProperty(value = "任务其他参数配置")
    @TableField("param")
    private String param;

    @ApiModelProperty(value = "执行状态")
    @TableField("state")
    private Integer state;

    @ApiModelProperty(value = "上回失败信息")
    @TableField("last_error_msg")
    private String lastErrorMsg;

    @ApiModelProperty(value = "入库时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "入库更新时间")
    @TableField("update_time")
    private Date updateTime;


}
