package com.cmvr.inspection.domain.dto;

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

import jakarta.validation.constraints.NotBlank;

/**
 * 人工复核提交参数。
 *
 * <p>只能复核PENDING或RECOGNIZE_FAILED状态的结果。提交ABNORMAL时必须指定alarmLevel。</p>
 */
@Data
@ApiModel("巡检结果人工复核参数")
public class InspectionResultReviewRequest
{
    @NotBlank(message = "resultStatus不能为空")
    @ApiModelProperty(value = "复核结果", required = true,
            allowableValues = "NORMAL,ABNORMAL", example = "ABNORMAL")
    private String resultStatus;

    @ApiModelProperty(value = "异常时必填：1提示、2警告、3严重",
            allowableValues = "1,2,3", example = "2")
    private Integer alarmLevel;

    @ApiModelProperty(value = "人工复核说明", example = "设备右侧存在漏油")
    private String reviewRemark;

    @ApiModelProperty(value = "当前reviewVersion，用于防止多人重复复核；首次通常为0", example = "0")
    private Integer reviewVersion;
}
