package cn.iocoder.yudao.module.identity.controller.admin.code.vo;

import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;

/**
* 标识码 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data

public class CodeBaseVO {

    @ApiModelProperty(value = "生码记录id", required = true)
    @NotNull(message = "生码记录id不能为空")
    private String generateRecordId;

    @ApiModelProperty(value = "二维码url ", required = true)
    @NotNull(message = "二维码url 不能为空")
    private String identityCode;

    @ApiModelProperty(value = "校验码（明暗码需要）")
    private String verfiyCode;

    @ApiModelProperty(value = "码规则id", required = true)
    @NotNull(message = "码规则id不能为空")
    private Long ruleId;

    @ApiModelProperty(value = "码规则", required = true)
    @NotNull(message = "码规则不能为空")
    private String codeRuleFormat;

    @ApiModelProperty(value = "码类型 0普通码 1明暗码", required = true)
    @NotNull(message = "码类型 0普通码 1明暗码不能为空")
    private Integer codeType;

    @ApiModelProperty(value = "字符长度", required = true)
    @NotNull(message = "字符长度不能为空")
    private Integer charLength;

    @ApiModelProperty(value = "字符类型 0纯数字  1纯字母  2混合类型", required = true)
    @NotNull(message = "字符类型 0纯数字  1纯字母  2混合类型不能为空")
    private Integer charType;

    @ApiModelProperty(value = "相关批次ID", required = true)
    @NotNull(message = "相关批次ID不能为空")
    private String batchId;

    @ApiModelProperty(value = "批次类型： 0：采收批次", required = true)
    @NotNull(message = "批次类型： 0：采收批次不能为空")
    private Integer batchType;

    @ApiModelProperty(value = "状态0：未启动 1：启动", required = true)
    @NotNull(message = "状态0：未启动 1：启动")
    private Integer status;

    @ApiModelProperty(value = "商品id")
    private String goodsId;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "经销商名称")
    private String dealerName;

    @ApiModelProperty(value = "经销商id")
    private String dealerId;

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

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

    @ApiModelProperty(value = "扫码次数统计")
    private Integer scanCount;

    @ApiModelProperty(value = "最多可追溯统计次数")
    private Integer limitCount;


}
