通知
build / build-push (push) Failing after 1m18s

This commit is contained in:
wanghu
2026-09-10 15:39:41 +08:00
parent 2c8125a549
commit 3016a97f1b
86 changed files with 3427 additions and 1669 deletions
@@ -0,0 +1,71 @@
package com.yunhai.campusnotice.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.time.LocalDateTime;
/**
* 通知阅读记录(懒标记)。对应原 .NET Notify_ReceiveList 的「逐用户阅读状态」语义,
* 但仅在读者首次查看时落库,避免发通知时预插全员。
* <p>
* 唯一约束 (notice_id, reader_account):同一用户对同一通知只记一条已读。
*/
@NoArgsConstructor
@Data
@Entity
@Table(name = "notice_read",
uniqueConstraints = @UniqueConstraint(
name = "uk_notice_reader",
columnNames = {"notice_id", "reader_account"}))
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)
public class NoticeRead extends BaseEntity {
/**
* 通知ID(关联 notice.id)
*/
@Column(name = "notice_id", nullable = false)
private Integer noticeId;
/**
* 读者登录账号
*/
@Column(name = "reader_account", nullable = false, length = 64)
private String readerAccount;
/**
* 读者姓名
*/
@Column(name = "reader_name", length = 64)
private String readerName;
/**
* 阅读时间
*/
@Column(name = "read_time")
private LocalDateTime readTime;
// ==================== 阅读身份快照(改造方案 2.3,学员阅读时带出) ====================
/** 学校ID(取通知 sch_id) */
@Column(name = "sch_id")
private Integer schId;
/** 年级ID快照 */
@Column(name = "grade_id")
private Integer gradeId;
/** 年级名称快照 */
@Column(name = "grade_name", length = 128)
private String gradeName;
/** 班级ID快照 */
@Column(name = "class_id")
private Integer classId;
/** 班级名称快照 */
@Column(name = "class_name", length = 128)
private String className;
}