package com.ruoyi.jarvis.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 腾讯文档批量推送记录
 */
public class TencentDocBatchPushRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 批次ID */
    private String batchId;

    /** 文件ID */
    private String fileId;

    /** 工作表ID */
    private String sheetId;

    /** 推送类型：AUTO-自动推送，MANUAL-手动推送 */
    private String pushType;

    /** 触发来源：DELAYED_TIMER-延迟定时器，USER-用户手动 */
    private String triggerSource;

    /** 推送开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 推送结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 推送耗时（毫秒） */
    private Long durationMs;

    /** 起始行号 */
    private Integer startRow;

    /** 结束行号 */
    private Integer endRow;

    /** 总行数 */
    private Integer totalRows;

    /** 成功数量 */
    private Integer successCount;

    /** 跳过数量 */
    private Integer skipCount;

    /** 错误数量 */
    private Integer errorCount;

    /** 状态：RUNNING-执行中，SUCCESS-成功，PARTIAL-部分成功，FAILED-失败，INTERRUPTED-已中断（超时/未正常结束） */
    private String status;

    /** 结果消息 */
    private String resultMessage;

    /** 错误信息 */
    private String errorMessage;

    /** 关联的操作日志列表（非数据库字段） */
    private List<TencentDocOperationLog> operationLogs;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    public String getSheetId() {
        return sheetId;
    }

    public void setSheetId(String sheetId) {
        this.sheetId = sheetId;
    }

    public String getPushType() {
        return pushType;
    }

    public void setPushType(String pushType) {
        this.pushType = pushType;
    }

    public String getTriggerSource() {
        return triggerSource;
    }

    public void setTriggerSource(String triggerSource) {
        this.triggerSource = triggerSource;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Long getDurationMs() {
        return durationMs;
    }

    public void setDurationMs(Long durationMs) {
        this.durationMs = durationMs;
    }

    public Integer getStartRow() {
        return startRow;
    }

    public void setStartRow(Integer startRow) {
        this.startRow = startRow;
    }

    public Integer getEndRow() {
        return endRow;
    }

    public void setEndRow(Integer endRow) {
        this.endRow = endRow;
    }

    public Integer getTotalRows() {
        return totalRows;
    }

    public void setTotalRows(Integer totalRows) {
        this.totalRows = totalRows;
    }

    public Integer getSuccessCount() {
        return successCount;
    }

    public void setSuccessCount(Integer successCount) {
        this.successCount = successCount;
    }

    public Integer getSkipCount() {
        return skipCount;
    }

    public void setSkipCount(Integer skipCount) {
        this.skipCount = skipCount;
    }

    public Integer getErrorCount() {
        return errorCount;
    }

    public void setErrorCount(Integer errorCount) {
        this.errorCount = errorCount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getResultMessage() {
        return resultMessage;
    }

    public void setResultMessage(String resultMessage) {
        this.resultMessage = resultMessage;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public List<TencentDocOperationLog> getOperationLogs() {
        return operationLogs;
    }

    public void setOperationLogs(List<TencentDocOperationLog> operationLogs) {
        this.operationLogs = operationLogs;
    }
}

