CREATE TABLE IF NOT EXISTS `tcm_app_system_notice` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`app_user_id` bigint NOT NULL COMMENT 'APP用户ID',
|
`notice_type_code` varchar(64) NOT NULL COMMENT '通知类型编码',
|
`title` varchar(128) NOT NULL COMMENT '通知标题',
|
`content` varchar(500) NOT NULL COMMENT '通知摘要内容',
|
`reference_type` varchar(64) DEFAULT NULL COMMENT '业务引用类型',
|
`reference_id` bigint DEFAULT NULL COMMENT '业务引用主键',
|
`payload_json` text COMMENT '透传载荷JSON',
|
`push_status` varchar(32) NOT NULL DEFAULT 'PENDING' COMMENT '推送状态:PENDING/SUCCESS/FAILED/SKIPPED',
|
`push_error_message` varchar(500) DEFAULT NULL COMMENT '推送失败原因',
|
`pushed_at` datetime DEFAULT NULL COMMENT '推送时间',
|
`read_at` datetime DEFAULT NULL COMMENT '已读时间',
|
`deleted` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除:0否 1是',
|
`created_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
`updated_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_app_notice_ref_deleted` (`app_user_id`,`notice_type_code`,`reference_type`,`reference_id`,`deleted`),
|
KEY `idx_app_notice_user_created` (`app_user_id`,`deleted`,`created_at`),
|
KEY `idx_app_notice_type_created` (`notice_type_code`,`deleted`,`created_at`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='APP统一系统通知表';
|