package com.mydreamjob.review; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.PrePersist; import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDateTime; /** 官方回复生命周期历史;不保存正文副本。 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @Entity @Table(name = "company_review_reply_history") public class CompanyReviewReplyHistory { public static final String CREATED = "CREATED"; public static final String AUTO_APPROVED = "AUTO_APPROVED"; public static final String PENDING = "PENDING"; public static final String RESUBMITTED = "RESUBMITTED"; public static final String APPROVED = "APPROVED"; public static final String REJECTED = "REJECTED"; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "reply_id", nullable = false) private Long replyId; @Column(nullable = false, length = 30) private String action; @Column(name = "actor_user_id") private Long actorUserId; @Column(name = "reason_codes", length = 500) private String reasonCodes; @Column(name = "human_reason", length = 500) private String humanReason; @Column(name = "created_at", nullable = false, updatable = false) private LocalDateTime createdAt; @PrePersist void prePersist() { if (createdAt == null) createdAt = LocalDateTime.now(); } }