package com.test.test.domain;

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

import java.util.Date;

/**
 * 性能测试用例报告对象 performance_test_case_report
 *
 * @author test
 * @date 2025-04-14
 */
public class PerformanceTestCaseReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 性能测试id（外键） */
    @Excel(name = "性能测试id", readConverterExp = "外=键")
    private Long performanceId;

    /** 测试用例id（外键） */
    @Excel(name = "测试用例id", readConverterExp = "外=键")
    private Long testCaseId;

    /** 性能测试执行批次id，取当前系统时间戳 */
    @Excel(name = "性能测试执行批次id，取当前系统时间戳")
    private Long sid;

    /** 并发线程数 */
    @Excel(name = "并发线程数")
    private Integer concurrentThreads;

    /** 平均响应时间（毫秒） */
    @Excel(name = "平均响应时间", readConverterExp = "毫=秒")
    private Long average;

    /** tps */
    @Excel(name = "tps")
    private String tps;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 耗时（毫秒） */
    @Excel(name = "耗时", readConverterExp = "毫=秒")
    private Long costTime;

    /** 触发方式：1-定时任务；2-手动 */
    @Excel(name = "触发方式：1-定时任务；2-手动")
    private Integer triggerType;

    /** 性能测试汇总报告json数组 */
    @Excel(name = "性能测试汇总报告json数组")
    private String summaryReport;

    /** 性能测试错误报告json对象 */
    @Excel(name = "性能测试错误报告json对象")
    private String errorReport;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applyUser;

    /** 是否已执行完成状态：0否，1是，默认0 */
    @Excel(name = "是否已执行完成状态：0否，1是，默认0")
    private String status;

    /** 删除标记:0：正常；1：删除 */
    private String delFlag;

    /** 用例名称 */
    private String name;

    public Long getId() {
        return id;
    }

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

    public Long getPerformanceId() {
        return performanceId;
    }

    public void setPerformanceId(Long performanceId) {
        this.performanceId = performanceId;
    }

    public Long getTestCaseId() {
        return testCaseId;
    }

    public void setTestCaseId(Long testCaseId) {
        this.testCaseId = testCaseId;
    }

    public Long getSid() {
        return sid;
    }

    public void setSid(Long sid) {
        this.sid = sid;
    }

    public Integer getConcurrentThreads() {
        return concurrentThreads;
    }

    public void setConcurrentThreads(Integer concurrentThreads) {
        this.concurrentThreads = concurrentThreads;
    }

    public Long getAverage() {
        return average;
    }

    public void setAverage(Long average) {
        this.average = average;
    }

    public String getTps() {
        return tps;
    }

    public void setTps(String tps) {
        this.tps = tps;
    }

    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 getCostTime() {
        return costTime;
    }

    public void setCostTime(Long costTime) {
        this.costTime = costTime;
    }

    public Integer getTriggerType() {
        return triggerType;
    }

    public void setTriggerType(Integer triggerType) {
        this.triggerType = triggerType;
    }

    public String getSummaryReport() {
        return summaryReport;
    }

    public void setSummaryReport(String summaryReport) {
        this.summaryReport = summaryReport;
    }

    public String getErrorReport() {
        return errorReport;
    }

    public void setErrorReport(String errorReport) {
        this.errorReport = errorReport;
    }

    public String getApplyUser() {
        return applyUser;
    }

    public void setApplyUser(String applyUser) {
        this.applyUser = applyUser;
    }

    public String getStatus() {
        return status;
    }

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

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
