-- 消息通知表
CREATE TABLE IF NOT EXISTS `t_message` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `company_id` BIGINT DEFAULT NULL COMMENT '公司（租户）ID',
    `title` VARCHAR(200) NOT NULL COMMENT '消息标题',
    `content` TEXT COMMENT '消息内容',
    `type` TINYINT NOT NULL DEFAULT 1 COMMENT '消息类型：1-系统通知，2-站内信，3-待办事项，4-公告通知',
    `sender_id` BIGINT DEFAULT 0 COMMENT '发送者ID（0表示系统发送）',
    `sender_name` VARCHAR(50) DEFAULT '系统' COMMENT '发送者名称',
    `receiver_id` BIGINT NOT NULL COMMENT '接收者ID',
    `receiver_name` VARCHAR(50) DEFAULT NULL COMMENT '接收者名称',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '消息状态：0-未读，1-已读，2-已删除',
    `read_time` DATETIME DEFAULT NULL COMMENT '阅读时间',
    `biz_type` VARCHAR(50) DEFAULT NULL COMMENT '关联业务类型',
    `biz_id` BIGINT DEFAULT NULL COMMENT '关联业务ID',
    `priority` TINYINT NOT NULL DEFAULT 0 COMMENT '优先级：0-普通，1-重要，2-紧急',
    `is_push` TINYINT NOT NULL DEFAULT 0 COMMENT '是否推送：0-否，1-是',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_receiver_id` (`receiver_id`),
    KEY `idx_sender_id` (`sender_id`),
    KEY `idx_type` (`type`),
    KEY `idx_status` (`status`),
    KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消息通知表';

-- 插入测试数据
INSERT INTO `t_message` (`title`, `content`, `type`, `sender_id`, `sender_name`, `receiver_id`, `receiver_name`, `status`, `priority`) VALUES
('系统升级通知', '系统将于2024年1月20日凌晨2:00-4:00进行升级维护，届时系统将暂停服务，请提前做好准备。', 1, 0, '系统', 1, '管理员', 0, 2),
('新功能上线', '消息通知中心功能已上线，您可以在此查看所有消息通知。', 1, 0, '系统', 1, '管理员', 0, 0),
('待办事项提醒', '您有3个待审批的工单，请及时处理。', 3, 0, '系统', 1, '管理员', 0, 1),
('欢迎使用', '欢迎使用洗车管理系统，如有问题请联系管理员。', 2, 0, '系统', 1, '管理员', 1, 0);
