package org.springblade.flow.datalog.model;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

/**
 * 表单数据导出实体类
 * 
 * @author William
 * @date 2022年12月2日 上午11:18:34
 */
@Data
@Builder
@TableName("base_visualdev_export_task")
@ApiModel(value = "visualdev_export_task", description = "导出任务")
public class DataExportTask {
	@ApiModelProperty(value = "ID", name = "id", required = true)
	@TableId(type = IdType.ASSIGN_ID)
	private Long id;

	@ApiModelProperty(value = "任务名称", name = "name", required = true)
	private String name;

	@ApiModelProperty(value = "表单ID", name = "modelId", required = true)
	private String modelId;

	@ApiModelProperty(value = "数据集ID", name = "cubeId", required = false)
	private Integer cubeId;

	@ApiModelProperty(value = "是否导出全部（0-非全部；1-全部）", name = "isAll", required = true)
	private int isAll;

	@ApiModelProperty(value = "导出规则", name = "rule", required = false)
	private String rule;

	@ApiModelProperty(value = "操作人", name = "operator", required = false)
	private String operator;

	@ApiModelProperty(value = "操作人ID", name = "operatorId", required = false)
	private Long operatorId;

	@ApiModelProperty(value = "创建时间", name = "createTime", required = false)
	private Date createTime;

	@ApiModelProperty(value = "完成时间", name = "finishTime", required = false)
	private Date finishTime;

	@ApiModelProperty(value = "任务状态（0-进行中；1-成功；2-失败；）", name = "status", required = false)
	private int status;

	@ApiModelProperty(value = "文件名", name = "fileName", required = false)
	private String fileName;
	
	@ApiModelProperty(value = "文件大小", name = "fileSize", required = false)
	private long fileSize;
	
	@ApiModelProperty(value = "导出条数", name = "count", required = false)
	private long count;

	@ApiModelProperty(value = "扩展信息，比如导出失败时的错误信息", name = "ext", required = false)
	private String ext;
	
	@ApiModelProperty(value = "耗时（单位：秒）", name = "takeUpTime", required = false)
	private BigDecimal takeUpTime;
}
