-- =============================================
|
-- OA 通知公告模块初始化
|
-- =============================================
|
|
CREATE TABLE IF NOT EXISTS oa_notice (
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
title VARCHAR(50) NOT NULL COMMENT '公告标题',
|
content TEXT NOT NULL COMMENT '公告内容',
|
type TINYINT NOT NULL COMMENT '公告类型(1通知 2公告)',
|
status TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0草稿 1已发布 2已撤销)',
|
send_scope TINYINT NOT NULL COMMENT '发送范围(1通知所有人 2指定人)',
|
is_top TINYINT NOT NULL DEFAULT 0 COMMENT '是否置顶(0否 1是)',
|
publish_user_id BIGINT COMMENT '发布人ID',
|
publish_time DATETIME COMMENT '发布时间',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT DEFAULT 0 COMMENT '是否删除',
|
INDEX idx_type (type),
|
INDEX idx_status (status),
|
INDEX idx_publish_time (publish_time),
|
INDEX idx_is_top (is_top)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA通知公告表';
|
|
CREATE TABLE IF NOT EXISTS oa_notice_user (
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
notice_id BIGINT NOT NULL COMMENT '通知公告ID',
|
user_id BIGINT NOT NULL COMMENT '指定用户ID',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT DEFAULT 0 COMMENT '是否删除',
|
INDEX idx_notice_id (notice_id),
|
INDEX idx_user_id (user_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA通知公告指定人关联表';
|
|
CREATE TABLE IF NOT EXISTS oa_notice_read (
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
notice_id BIGINT NOT NULL COMMENT '通知公告ID',
|
user_id BIGINT NOT NULL COMMENT '用户ID',
|
read_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '阅读时间',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT DEFAULT 0 COMMENT '是否删除',
|
UNIQUE KEY uk_notice_user (notice_id, user_id),
|
INDEX idx_notice_id (notice_id),
|
INDEX idx_user_id (user_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA通知公告已读记录表';
|
|
-- 系统通知模板(用于OA通知公告发布时发送站内信)
|
INSERT INTO system_notify_template (name, code, nickname, content, type, params, status, creator, create_time, updater, update_time, deleted)
|
VALUES ('OA通知公告提醒', 'oa-notice-publish', '系统通知', '您有一条新的通知公告:{title}', 1, '["title"]', 0, '', NOW(), '', NOW(), 0)
|
ON DUPLICATE KEY UPDATE id = id;
|