package cn.iocoder.yudao.module.chain.dal.dataobject.blockcertificate;

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

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

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 上链操作专属ID
     */
    private String chainOperateId;
    /**
     * 操作类型 0:批次上链  1:环节上链  2：出入库上链
     */
    private Integer operateType;
    /**
     * 操作类型描述
     */
    private String operateName;
    /**
     * 操作对象id：根据operate_type的值，存储不同关联表的id
     */
    private Long operateObjId;
    /**
     * 批次id
     */
    private String batchId;
    /**
     * 批次上链类型： 0：采收批次   1:投入品采购批次  2:检验检疫批次
     */
    private Byte batchType;
    /**
     * 环节id
     */
    private String linkId;
    /**
     * 环节名称
     */
    private String linkName;
    /**
     * 所在链名称
     */
    private String chainName;
    /**
     * 所在区块
     */
    private String chainBlock;
    /**
     * 成块时间
     */
    private Date blockTime;
    /**
     * 唯一区块编码
     */
    private String chainBlockIdentity;
    /**
     * 上链状态 0未上链  1已上链
     */
    private Integer chainState;
    /**
     * 链状态  0激活  1冻结
     */
    private Integer chainStatus;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 是否扫码展示
     */
    private Boolean scanShow;
    /**
     * 语言类型ID
     */
    private Long languageTypeId;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 父区块证书的ID
     */
    private String parentOperateId;
    /**
     * 上传者身份
     */
    private String uploadUser;
    /**
     * 上传者身份证明
     */
    private String uploadVerify;
    /**
     * 上传时间
     */
    private Date uploadTime;
    /**
     * 上传地点坐标
     */
    private String uploadLocation;
    /**
     * 所属商户id
     */
    private Long belongBusinessId;
    /**
     * 所属商户名称
     */
    private String belongBusinessName;

}
