package cn.iocoder.yudao.module.identity.dal.dataobject.code;

import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 标识码 DO
 *
 * @author 芋道源码
 */
@TableName("identity_code")
@KeySequence("identity_code_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CodeDO extends BaseDO {

    /**
     * 编码
     */
    @TableId
    private Long id;
    /**
     * 生码记录id
     */
    private String generateRecordId;
    /**
     * 二维码url
     */
    private String identityCode;
    /**
     * 校验码（明暗码需要）
     */
    private String verfiyCode;
    /**
     * 码规则id
     */
    private Long ruleId;
    /**
     * 码规则
     */
    private String codeRuleFormat;
    /**
     * 码类型 0普通码 1明暗码
     */
    private Integer codeType;
    /**
     * 字符长度
     */
    private Integer charLength;
    /**
     * 字符类型 0纯数字  1纯字母  2混合类型
     */
    private Integer charType;
    /**
     * 相关批次ID
     */
    private String batchId;
    /**
     * 批次类型： 0：采收批次
     */
    private Integer batchType;
    /**
     * 商品id
     */
    private String goodsId;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 经销商名称
     */
    private String dealerName;
    /**
     * 经销商id
     */
    private String dealerId;
    /**
     * 所属商户id
     */
    private Long belongBusinessId;
    /**
     * 所属商户名称
     */
    private String belongBusinessName;
    /**
     * 扫码次数统计
     */
    private Integer scanCount;
    /**
     * 最多可追溯统计次数
     */
    private Integer limitCount;

    private Long tenantId;

}
