package cn.iocoder.yudao.module.product.controller.admin.harvestbatch.vo;

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

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

@ApiModel("管理后台 - 采收批次配置保存 Request VO")
@Data
public class HarvestBatchConfigSaveReqVO {

    @ApiModelProperty(value = "采收批次ID", required = true)
    @NotNull(message = "采收批次ID不能为空")
    private Long id;

    @ApiModelProperty(value = "模板ID", required = true)
    @NotNull(message = "模板ID不能为空")
    private Long templateId;

    @ApiModelProperty(value = "语言类型ID", required = true)
    @NotNull(message = "语言类型ID不能为空")
    private Long languageTypeId;

    @ApiModelProperty(value = "商户信息")
    @Valid
    private BlockCertificateSaveReqVO businessInfo;

    @ApiModelProperty(value = "商品信息")
    @NotNull(message = "商品信息不能为空")
    @Valid
    private BlockCertificateSaveReqVO goodsInfo;

    @ApiModelProperty(value = "环节信息集合")
    @Valid
    private List<BlockCertificateSaveReqVO> linkInfos;

    @ApiModelProperty(value = "农事活动-地块计划集合")
    @Valid
    private List<FarmingPlantSaveReqVO> farmingPlans;

    @ApiModelProperty(value = "检测报告")
    @Valid
    private List<InspectionSaveReqVO> inspections;

    @ApiModelProperty(value = "环境类型配置")
    @Valid
    private List<EnvTypeConfigSaveReqVO> envTypeConfigs;
}
