package com.cmvr.aima.domain.vo;

import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 爱玛测试用例视图对象（包含关联信息）
 * 
 * @author cmvr-iot
 * @since 2026-06-22
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel("爱玛测试用例视图对象")
public class AimaTestCaseVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private String id;

    /** 用例编码 */
    @Excel(name = "用例编码")
    @ApiModelProperty("用例编码")
    private String caseCode;

    /** 用例名称 */
    @Excel(name = "用例名称")
    @ApiModelProperty("用例名称")
    private String caseName;

    /** 用例分类 */
    @Excel(name = "用例分类")
    @ApiModelProperty("用例分类(功能测试/性能测试/安全测试等)")
    private String caseCategory;

    /** 测试描述 */
    @ApiModelProperty("测试描述")
    private String testDescription;

    /** 前置条件 */
    @ApiModelProperty("前置条件")
    private String precondition;

    /** 测试步骤 */
    @ApiModelProperty("测试步骤")
    private String testSteps;

    /** 预期结果 */
    @ApiModelProperty("预期结果")
    private String expectedResult;

    /** 优先级 */
    @Excel(name = "优先级")
    @ApiModelProperty("优先级(1高 2中 3低)")
    private String priority;

    /** 是否启用 */
    @Excel(name = "是否启用")
    @ApiModelProperty("是否启用(0启用 1禁用)")
    private String enabled;

    /** 排序号 */
    @Excel(name = "排序号")
    @ApiModelProperty("排序号")
    private Integer sortOrder;

    /** 预计执行时长 */
    @Excel(name = "预计执行时长")
    @ApiModelProperty("预计执行时长(秒)")
    private Integer estimatedDuration;

    /** 检测项配置id */
    @ApiModelProperty("检测项配置id")
    private String detectItemId;

    /** 配置状态 */
    @Excel(name = "配置状态")
    @ApiModelProperty("配置状态(0未部署 1已部署)")
    private String configStatus;

    /** 创建人昵称 */
    @Excel(name = "创建人昵称")
    @ApiModelProperty("创建人昵称")
    private String createByName;

    /** 修改人昵称 */
    @Excel(name = "修改人昵称")
    @ApiModelProperty("修改人昵称")
    private String updateByName;
}
