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

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

import javax.validation.constraints.NotNull;

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

    @ApiModelProperty(value = "记录编码", required = true)
    private String generateRecordId;

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

    @ApiModelProperty(value = "码规则")
    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 = "文件路径",required = true)
    @NotNull(message = "文件路径不能为空")
    private String fileUrl;

    @ApiModelProperty(value = "纯图片的文件路径")
    private String imageFileUrl;

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

    @ApiModelProperty(value = "数量", required = true)
    @NotNull(message = "数量不能为空")
    private Integer codeNum;

    @ApiModelProperty(value = "操作者")
    private String operateUser;

    @ApiModelProperty(value = "操作者id")
    private Long operateUserId;

    @ApiModelProperty(value = "状态 0：生成中  1：已生成文字码，未生成图片码  2：文字及图片码均生成", required = true)
    private Integer state;

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

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

    @ApiModelProperty(value = "采收批次")
    private String batchId;

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

}
