125 lines
2.8 KiB
Java
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;
|
|
}
|
|
}
|