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

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

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
* 采收批次 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class HarvestBatchBaseVO {

    @ApiModelProperty(value = "采收批次编号", required = true)
    @NotNull(message = "采收批次编号不能为空")
    private String harvestBatchId;

    @ApiModelProperty(value = "入库单号", required = true)
    @NotNull(message = "入库单号不能为空")
    private String harvestId;

    @ApiModelProperty(value = "入库日期", required = true)
    @NotNull(message = "入库日期不能为空")
    private Date harvestDate;

    @ApiModelProperty(value = "商品名称", required = true)
    @NotNull(message = "商品名称不能为空")
    private String goodsName;

    @ApiModelProperty(value = "商品id", required = true)
    @NotNull(message = "商品id不能为空")
    private String goodsId;

    @ApiModelProperty(value = "商品数量")
    private Integer goodsNum;

    @ApiModelProperty(value = "批次上链区块id")
    private String blockChainId;

    @ApiModelProperty(value = "批次上链区块唯一识别码")
    private String blockChainBlockIdentity;

    @ApiModelProperty(value = "批次上链状态 0：未上链  1：激活状态  2：冻结状态", required = true)
    @NotNull(message = "批次上链状态 0：未上链  1：激活状态  2：冻结状态不能为空")
    private Integer blockState;

    @ApiModelProperty(value = "采收批次说明")
    private String remarks;

    @ApiModelProperty(value = "所属商户id", required = true)
    @NotNull(message = "所属商户id不能为空")
    private Long belongBusinessId;

    @ApiModelProperty(value = "所属商户名称", required = true)
    @NotNull(message = "所属商户名称不能为空")
    private String belongBusinessName;

}
