yunzerwebsiteallinone/sql/yz_system_sitereminder.sql
2026-06-17 23:07:39 +08:00

37 lines
2.2 KiB
SQL

-- 站内信配置表
CREATE TABLE IF NOT EXISTS `yz_system_sitereminder` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`retention_days` int(11) NOT NULL DEFAULT '30' COMMENT '消息保留天数',
`auto_read` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否自动标记已读: 0-否, 1-是',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站内信配置表';
-- 默认插入一条配置数据
INSERT INTO `yz_system_sitereminder` (`id`, `retention_days`, `auto_read`, `create_time`, `update_time`)
VALUES (1, 30, 0, NOW(), NOW())
ON DUPLICATE KEY UPDATE `update_time` = NOW();
-- 站内信消息列表表
CREATE TABLE IF NOT EXISTS `yz_system_reminderlist` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(255) NOT NULL COMMENT '标题',
`content` text NOT NULL COMMENT '内容',
`sender_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '发送者ID (0为系统)',
`sender_type` varchar(32) NOT NULL DEFAULT 'system' COMMENT '发送者类型: system, platform, tenant',
`receiver_id` bigint(20) unsigned NOT NULL COMMENT '接收者ID',
`receiver_type` varchar(32) NOT NULL DEFAULT 'receiver' COMMENT '接收者类型: platform, tenant',
`is_read` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否已读: 0-未读, 1-已读',
`read_time` datetime DEFAULT NULL COMMENT '已读时间',
`create_time` datetime DEFAULT NULL COMMENT '创建时间/发送时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`batch_id` varchar(64) NOT NULL DEFAULT '' COMMENT '批次号/分组ID',
`target_type` varchar(32) NOT NULL DEFAULT '' COMMENT '发送目标类型: platform, tenant_all, role, tenant',
`target_role_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '目标角色ID',
`target_tenant_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '目标租户ID',
PRIMARY KEY (`id`),
KEY `idx_receiver` (`receiver_type`, `receiver_id`, `is_read`),
KEY `idx_batch` (`batch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='站内信消息列表表';