60 lines
1.9 KiB
Java
60 lines
1.9 KiB
Java
package com.yunhai.campusnotice.entity;
|
||
|
||
import lombok.Data;
|
||
import lombok.EqualsAndHashCode;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
import javax.persistence.Column;
|
||
import javax.persistence.Entity;
|
||
import javax.persistence.Index;
|
||
import javax.persistence.Table;
|
||
import java.time.LocalDateTime;
|
||
|
||
/**
|
||
* 通知审批记录表 notice_approval(改造方案 2.4)。
|
||
* <p>
|
||
* 审批轨迹全量落本表(提交行含审批人快照,通过/驳回行记录实际处理人),
|
||
* 驳回重提产生新一轮提交行,历史轮次永久保留(详情页按时间线分组展示)。
|
||
*/
|
||
@NoArgsConstructor
|
||
@Data
|
||
@Entity
|
||
@Table(name = "notice_approval",
|
||
indexes = @Index(name = "idx_approval_notice", columnList = "notice_id"))
|
||
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)
|
||
public class NoticeApproval extends BaseEntity {
|
||
|
||
/** 审批动作:1 提交审批 / 2 通过 / 3 驳回(见 ApprovalActionEnum) */
|
||
public static final int ACTION_SUBMIT = 1;
|
||
public static final int ACTION_APPROVE = 2;
|
||
public static final int ACTION_REJECT = 3;
|
||
|
||
/** 通知ID(关联 notice.id) */
|
||
@Column(name = "notice_id", nullable = false)
|
||
private Integer noticeId;
|
||
|
||
/** 审批动作:1 提交审批 / 2 通过 / 3 驳回 */
|
||
@Column(name = "action", nullable = false)
|
||
private Integer action;
|
||
|
||
/** 操作人账号 */
|
||
@Column(name = "operator_account", length = 64)
|
||
private String operatorAccount;
|
||
|
||
/** 操作人姓名 */
|
||
@Column(name = "operator_name", length = 64)
|
||
private String operatorName;
|
||
|
||
/** 审批意见 */
|
||
@Column(name = "opinion", length = 1000)
|
||
private String opinion;
|
||
|
||
/** 仅 action=1 提交行使用:选定审批人快照 JSON [{account,name}] */
|
||
@Column(name = "assignees", columnDefinition = "LONGTEXT")
|
||
private String assignees;
|
||
|
||
/** 操作时间 */
|
||
@Column(name = "action_time")
|
||
private LocalDateTime actionTime;
|
||
}
|