- 新增 SysNoticeRead 实体类用于存储公告/通知已读记录 - 实现 SysNoticeReadMapper 数据访问层接口及 XML 映射文件 - 创建 ISysNoticeReadService 服务接口及实现类 - 添加数据库表 sys_notice_read 存储用户阅读状态 - 添加发布状态字段到公告表支持公告发布控制 - 实现前端 NoticePanel 组件支持未读标记和阅读状态显示 - 提供标记已读、批量标记、未读数量统计等功能 - 优化公告列表按已读状态和时间排序显示
27 lines
912 B
SQL
27 lines
912 B
SQL
-- 公告/通知已读记录表
|
|
CREATE TABLE IF NOT EXISTS sys_notice_read (
|
|
read_id BIGINT PRIMARY KEY,
|
|
notice_id BIGINT NOT NULL,
|
|
user_id BIGINT NOT NULL,
|
|
read_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT uk_notice_user UNIQUE (notice_id, user_id)
|
|
);
|
|
|
|
COMMENT ON TABLE sys_notice_read IS '公告/通知已读记录表';
|
|
COMMENT ON COLUMN sys_notice_read.read_id IS '阅读ID';
|
|
COMMENT ON COLUMN sys_notice_read.notice_id IS '公告/通知ID';
|
|
COMMENT ON COLUMN sys_notice_read.user_id IS '用户ID';
|
|
COMMENT ON COLUMN sys_notice_read.read_time IS '阅读时间';
|
|
|
|
-- 创建序列
|
|
CREATE SEQUENCE IF NOT EXISTS sys_notice_read_read_id_seq
|
|
INCREMENT 1
|
|
MINVALUE 1
|
|
MAXVALUE 99999999
|
|
START 200
|
|
CACHE 1;
|
|
|
|
-- 索引
|
|
CREATE INDEX IF NOT EXISTS idx_notice_read_notice_id ON sys_notice_read(notice_id);
|
|
CREATE INDEX IF NOT EXISTS idx_notice_read_user_id ON sys_notice_read(user_id);
|