package cn.iocoder.yudao.module.qcreport.dal.dataobject.version; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.Jackson3TypeHandler; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; /** * 报告模板版本 DO *

* 版本发布后不允许覆盖,只能新建版本,保证历史报告可复现。 */ @TableName(value = "qc_report_template_version", autoResultMap = true) @KeySequence("qc_report_template_version_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class QcReportTemplateVersionDO extends BaseDO { /** * 版本编号 */ @TableId private Long id; /** * 模板编号 */ private Long templateId; /** * 版本号,如 v1.0 */ private String version; /** * 模板 Schema(GrapesJS JSON + Quality Component JSON + 数据源 + 绑定 + 规则 + 样式) */ @TableField(value = "schema_json", typeHandler = Jackson3TypeHandler.class) private ReportTemplateSchema schema; /** * 版本状态。见 QcReportVersionStatusEnum */ private Integer status; /** * 版本说明 */ private String description; }