package cn.iocoder.yudao.module.asset.controller.admin.inspection.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * 验车模板创建/更新 Request VO
 */
@Schema(description = "管理后台 - 验车模板创建/更新 Request VO")
@Data
public class InspectionTemplateSaveReqVO {

    @Schema(description = "主键ID", example = "1")
    private Long id;

    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "TPL-BC-001")
    @NotBlank(message = "模板编码不能为空")
    private String code;

    @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "备车检查模板")
    @NotBlank(message = "模板名称不能为空")
    private String name;

    @Schema(description = "业务类型（1=备车 2=交车 3=还车）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "业务类型不能为空")
    private Integer bizType;

    @Schema(description = "车辆类型", example = "重卡")
    private String vehicleType;

    @Schema(description = "状态（0=禁用 1=启用）", example = "1")
    private Integer status;

    @Schema(description = "备注", example = "备车检查模板")
    private String remark;

    @Schema(description = "检查项列表")
    @Valid
    private List<InspectionTemplateItemVO> items;

}
