Skip to content

DB foundation_notification

wuda0112 edited this page Dec 27, 2020 · 2 revisions

notification_template

column name definition
notification_template_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
name VARCHAR (45) NOT NULL COMMENT '模板名称'
content VARCHAR (512) NOT NULL COMMENT '模板的内容'
description VARCHAR (256) NULL COMMENT '对该模板的描述'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_send_method

column name definition
notification_send_method_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
name VARCHAR (45) NOT NULL COMMENT '发送方式的名称,比如email'
description VARCHAR (256) NULL COMMENT '基本的描述信息'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_category

column name definition
notification_category_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '与group_id相等,因为分类是一个组'
parent_notification_category_id BIGINT UNSIGNED NOT NULL COMMENT '父级,一定和组的parent_group_id相等。'
root_notification_category_id BIGINT UNSIGNED NOT NULL
depth TINYINT UNSIGNED NOT NULL
name VARCHAR (45) NOT NULL COMMENT '名称'
description VARCHAR (128) NULL COMMENT '节点的描述'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '描述'
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_definition_core

column name definition
notification_difinition_core_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_definition_id BIGINT UNSIGNED NOT NULL
name VARCHAR (45) NOT NULL COMMENT '该定义本身的名称,就好像Java语言中定义一个Class,要给这个Class命名'
description VARCHAR (256) NULL COMMENT '对于该定义的描述'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_definition_send_method

column name definition
notification_definition_send_method_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_definition_id BIGINT UNSIGNED NOT NULL
notification_send_method_id BIGINT UNSIGNED NOT NULL COMMENT '使用的发送方式,一个定义可以有多种发送方式。'
notification_template_id BIGINT UNSIGNED NOT NULL COMMENT '声明使用的模板'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_definition_content

column name definition
notification_definition_content_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_definitionf_id BIGINT UNSIGNED NOT NULL
notification_definition_send_method_id BIGINT UNSIGNED NOT NULL COMMENT '表示这个内容由哪种方式发送,比如使用短信发送。这样做的一个好处是,每种发布方式都可以定义自己的内容,即短信可以发送适合短信息的内容,邮件可以发送丰富的邮件内容。'
title VARCHAR (45) NOT NULL COMMENT '声明通知的标题'
template_parameter VARCHAR (45) NULL COMMENT '模板参数,使用模板后生成具体的通知内容。为什么要使用模板参数,而不直接使用通知内容呢?因为在有些场景下,会先定义通知模板,比如像短信,短信服务商(比如阿里云的短信发送服务),就是先定义模板;而有些场景可能是直接写好标题和内容,就直接发送了,为了兼容这两种情况,在数据库定义时就使用模板的方式,因为通过模板和模板参数就可以生成消息内容,对于那些不使用模板的通知,我们只需要内置一个模板,固定下来参数的名称,然后把通知内容保存时,使用这个参数作为key,通知内容作为value,就可以生成数据库需要的模板参数了,请查看notification_template中内置的模板。'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_instance_content

column name definition
notification_instance_content_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_definition_id BIGINT UNSIGNED NOT NULL COMMENT '该通知基于哪个定义生成'
notification_definition_send_method_id BIGINT UNSIGNED NOT NULL COMMENT '该内容由哪种方式方式'
notification_definition_content_id BIGINT UNSIGNED NOT NULL COMMENT '由于同一个定义可以反复发送通知,因此,必须加上该字段,以便区分这个通知是由定义的哪个内容发送出来的。'
notification_category_id BIGINT UNSIGNED NOT NULL COMMENT '所属分类ID'
title VARCHAR (45) NULL DEFAULT '' COMMENT '标题'
body VARCHAR (256) NOT NULL COMMENT '消息的实际内容,命名参考html body'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_instance_trace

column name definition
notification_instance_trace_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_instance_content_id BIGINT UNSIGNED NOT NULL
observer_type TINYINT UNSIGNED NOT NULL COMMENT '查看者类型'
observer_identifier BIGINT UNSIGNED NOT NULL COMMENT '查看者唯一标记'
read BIT (1) NOT NULL COMMENT '是否已读'
read_time TIMESTAMP NULL COMMENT '阅读该通知的时间'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_instance_send_history

column name definition
notification_instance_send_history_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_instance_content_id BIGINT UNSIGNED NOT NULL COMMENT '如果同一个通知(内容一模一样)发送多次的,使用这个指针指向该通知,则会节省很多空间'
send_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
sender_type TINYINT UNSIGNED NOT NULL COMMENT '发送者类型,不一定是某个人发送,比如是服务A发送给服务B。'
sender_identifier BIGINT UNSIGNED NOT NULL COMMENT '发送者唯一标记'
receiver_type TINYINT NOT NULL COMMENT '接收者类型,不一定发个人,也可以发给某个分组等'
receiver_identifier BIGINT UNSIGNED NOT NULL COMMENT '接收者唯一标记符'
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_definition_observer

column name definition
notification_definition_observer_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '表的主键'
notification_definition_id BIGINT UNSIGNED NOT NULL
notification_definition_send_method_id BIGINT UNSIGNED NOT NULL COMMENT '表示这个接收者接收哪种方式的通知,比如接收短信的通知。这样做的一个好处是,每种发布方式都可以定义自己的接收者,即短信可以选择一批人,邮件可以选择宁外的一批人,站内信也可以选择一批人接收,等等。'
observer_type TINYINT UNSIGNED NOT NULL COMMENT '接收者类型'
observer_identifier BIGINT UNSIGNED NOT NULL COMMENT '接收者唯一标记'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_definition_observerr_expand_snapshot

column name definition
notification_definition_observer_expand_snapshot_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '表的主键'
notification_definition_id BIGINT UNSIGNED NOT NULL
notification_definition_receiver_id BIGINT UNSIGNED NOT NULL COMMENT '接收者主表,被展开的记录的ID。'
observer_type TINYINT UNSIGNED NOT NULL COMMENT '接收者类型,不能再展开的接收者的类型,比如公司,部门,组等这样的接收者是可以最终展开成用户的;但是用户无法再展开,用户是最终的接收者。但是由于接收者还可以是服务等其他主体,因此这里不代表一定是最终用户,因此还是需要有类型进行区分。'
observer_identifier BIGINT UNSIGNED NOT NULL COMMENT '接收者唯一标记'
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0

notification_difinition_group_relation

column name definition
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
notification_difinition_id BIGINT UNSIGNED NOT NULL
group_id BIGINT UNSIGNED NOT NULL
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
create_user_id BIGINT UNSIGNED NOT NULL
last_modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
last_modify_user_id BIGINT UNSIGNED NOT NULL
is_deleted BIGINT UNSIGNED NOT NULL DEFAULT 0
Clone this wiki locally