Files
ERP/oa-backend/src/main/java/com/kaidi/oa/domain/ContentPieceVersion.java
T

125 lines
2.8 KiB
Java

package com.kaidi.oa.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import java.time.Instant;
/**
* 内容稿件版本历史(品牌推广部·内容创作与审核发布·版本管理)。
*
* 每次稿件升版(saveVersion)或进入发布状态时自动快照一条本记录,
* 保存当时的正文(bodySnapshot)与标题(titleSnapshot),
* 前端可通过 /versions 列表与 /versions/{vid}/diff 获取 diff 追溯能力。
*
* action:草稿保存 / 提交审核 / 已通过 / 已发布 / 手动存版。
*/
@Entity
@Table(name = "cpc_version")
public class ContentPieceVersion {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/** 所属稿件 id。 */
private Long contentId;
/** 版本标签,例如 V1、V2。 */
private String versionLabel;
/** 快照时的动作语义。 */
private String action;
/** 操作人。 */
private String operator;
/** 修改说明。 */
private String changeNote;
/** 标题快照。 */
private String titleSnapshot;
/** 正文快照(完整内容,用于 diff 对比)。 */
@Column(name = "body_snapshot", columnDefinition = "TEXT")
private String bodySnapshot;
private Instant createdAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getContentId() {
return contentId;
}
public void setContentId(Long contentId) {
this.contentId = contentId;
}
public String getVersionLabel() {
return versionLabel;
}
public void setVersionLabel(String versionLabel) {
this.versionLabel = versionLabel;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getChangeNote() {
return changeNote;
}
public void setChangeNote(String changeNote) {
this.changeNote = changeNote;
}
public String getTitleSnapshot() {
return titleSnapshot;
}
public void setTitleSnapshot(String titleSnapshot) {
this.titleSnapshot = titleSnapshot;
}
public String getBodySnapshot() {
return bodySnapshot;
}
public void setBodySnapshot(String bodySnapshot) {
this.bodySnapshot = bodySnapshot;
}
public Instant getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Instant createdAt) {
this.createdAt = createdAt;
}
}