成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

「SpringCloud」之集成移動(dòng)端推送功能的系統(tǒng)通知數(shù)據(jù)庫設(shè)計(jì)

數(shù)據(jù)庫 其他數(shù)據(jù)庫
系統(tǒng)通知公告通常有系統(tǒng)因業(yè)務(wù)狀態(tài)變化自動(dòng)發(fā)起的通知公告和管理人員通過后臺(tái)管理主動(dòng)發(fā)起的通知公告。如果是因業(yè)務(wù)狀態(tài)自動(dòng)發(fā)起的通知公告,那么其發(fā)送的渠道需要結(jié)合業(yè)務(wù)需求,在編碼時(shí)確定。如果是管理人員通過界面發(fā)起的通知公告,那么需要在配置界面提供可選擇的渠道,根據(jù)業(yè)務(wù)需求由發(fā)起人來確定通過哪些渠道發(fā)送。

系統(tǒng)的通知公告功能似乎是很容易被忽略的功能模塊,在傳統(tǒng)的軟件系統(tǒng)中,一般OA類軟件系統(tǒng)不可或缺,而在應(yīng)用軟件系統(tǒng)中此功能或有或無,在現(xiàn)在大多數(shù)的互聯(lián)網(wǎng)軟件系統(tǒng)中,此功能又必不可缺。所以,在框架設(shè)計(jì)時(shí),我們需要考慮業(yè)務(wù)系統(tǒng)是否需要此功能模塊,然后將此功能作為擴(kuò)展插件,在需要時(shí)開啟,在不需要時(shí)配置關(guān)閉即可。

在系統(tǒng)公告設(shè)計(jì)之前,我們需要綜合考慮目前系統(tǒng)通知公告功能都有哪些類型和實(shí)現(xiàn)方式。在類型方面如果是電商類網(wǎng)站,那么系統(tǒng)的通知公告有賬戶變動(dòng)通知、物流變動(dòng)通知、訂單變動(dòng)通知等等;如果是OA類系統(tǒng),那么系統(tǒng)的通知公告有待辦事項(xiàng)、審批通知、公司公告通知等等;在實(shí)現(xiàn)方式方面,有站內(nèi)通知、短信通知、微信通知、APP推送消息等等。

在通知公告的來源和通知公告的目標(biāo)方面也要做好區(qū)分,通常的通知公告來源有系統(tǒng)通知、群組通知、用戶通知;相對(duì)于通知公告的目標(biāo)方,有群組、角色、用戶等分類,下面是通知公告功能關(guān)鍵表的E-R圖,不包含RBAC模型關(guān)系,框架支持多租戶:

1、系統(tǒng)公告來源

系統(tǒng)通知:來源于某一個(gè)功能模塊或者統(tǒng)一抽象為系統(tǒng)消息,比如賬戶異地登錄、密碼嘗試次數(shù)過多等,這些顯示來源于系統(tǒng)消息即可;如果是告警等需要詳細(xì)的來源時(shí),比如微服務(wù)模式下每個(gè)服務(wù)所引發(fā)的告警等信息,這里需要標(biāo)識(shí)具體的系統(tǒng)來源模塊。 群組通知:來源于某一個(gè)部門的的消息,有些消息內(nèi)容是由部門來統(tǒng)一發(fā)出,比如考勤、放假等通知由行政部門發(fā)出,薪資等相關(guān)內(nèi)容由財(cái)務(wù)部門發(fā)出。 用戶通知:由某一個(gè)人發(fā)出的通知公告,此種情況使用比較少,區(qū)別于用戶對(duì)用戶的私信消息,用戶私信功能需要和系統(tǒng)通知公告功能做好區(qū)分。 數(shù)據(jù)庫表設(shè)計(jì)公告通知來源字段:

`message_category` VARCHAR(32)    COMMENT '系統(tǒng)公告 待辦消息  賬戶通知 關(guān)注/收藏/點(diǎn)贊通知' ,
`receive_type` VARCHAR(32) COMMENT '接收消息類型 全員 組 角色 用戶' ,
`to_organization_id` BIGINT(20) COMMENT '接收消息的群組' ,
`to_role_id` BIGINT(20) COMMENT '接收消息的角色' ,
`to_user_id` BIGINT(20) COMMENT '接收消息的用戶' ,

2、系統(tǒng)公告目標(biāo)

群組目標(biāo):某一公告通知是針對(duì)于群組的,就是某一個(gè)部門內(nèi)的人才能夠收到的消息。 角色目標(biāo):針對(duì)于角色的通知公告,比如某一條通知公告是只發(fā)送給公司內(nèi)部所有的部門經(jīng)理的。 用戶目標(biāo):這個(gè)比較好理解,針對(duì)個(gè)人的消息通知,比如自己的請假申請或者報(bào)銷審批通過等,系統(tǒng)需要發(fā)送消息到個(gè)人。 數(shù)據(jù)庫表設(shè)計(jì)公告通知目標(biāo)字段:

`send_from_type` VARCHAR(32)    COMMENT '消息來源類型 系統(tǒng) 組  用戶' ,
`from_group_id` BIGINT(20) COMMENT '發(fā)送消息的組' ,
`from_user_id` BIGINT(20) COMMENT '發(fā)送消息的用戶' ,
`from_system` VARCHAR(32) COMMENT '發(fā)送消息的系統(tǒng)' ,

3、系統(tǒng)公告級(jí)別

系統(tǒng)通知公告可以根據(jù)情況設(shè)置通知公告的級(jí)別,比如高、中、低,那么在前端提醒的方式就可以采取強(qiáng)制彈框、靜默提醒等方式來處理這些通知公告。如果是定時(shí)發(fā)送,那么需要設(shè)置定時(shí)任務(wù)根據(jù)發(fā)布時(shí)間來定時(shí)發(fā)送;如果有消息撤回,那么需要標(biāo)識(shí)已撤回以及消息撤回時(shí)間。

數(shù)據(jù)庫表設(shè)計(jì)通知公告級(jí)別和發(fā)布時(shí)間字段:

`publish_time` DATETIME    COMMENT '發(fā)布時(shí)間' ,
`recall_flag` TINYINT(2) COMMENT '是否撤回' ,
`recall_time` DATETIME COMMENT '撤回時(shí)間' ,
`message_level` VARCHAR(32) COMMENT '消息級(jí)別 高 中 低' ,

4、系統(tǒng)公告附加內(nèi)容

有些系統(tǒng)的公告通知可能不只是文本消息,基于用戶體驗(yàn)考慮,有些消息到達(dá)時(shí),用戶可以直接通過點(diǎn)擊通知跳轉(zhuǎn)到具體的業(yè)務(wù)處理模塊,比如工作流的待辦事項(xiàng)、未支付訂單的提醒等等。在現(xiàn)在的APP推送消息中,甚至可以設(shè)置消息通知的縮略圖,那么我們在數(shù)據(jù)庫表設(shè)計(jì)的時(shí)候也需要把這些情況考慮進(jìn)去。

數(shù)據(jù)庫表設(shè)計(jì)通知公告附加字段:

`title` VARCHAR(100)    COMMENT '標(biāo)題' ,
`content` VARCHAR(1000) COMMENT '內(nèi)容' ,
`redirect_url` VARCHAR(255) COMMENT '跳轉(zhuǎn)鏈接' ,
`image_url` VARCHAR(255) COMMENT '消息圖片' ,
......
`publish_time` DATETIME COMMENT '發(fā)布時(shí)間' ,
`recall_flag` TINYINT(2) COMMENT '是否撤回' ,
`recall_time` DATETIME COMMENT '撤回時(shí)間' ,
`message_level` VARCHAR(32) COMMENT '消息級(jí)別 高 中 低' ,

5、系統(tǒng)公告通知渠道

現(xiàn)在移動(dòng)辦公越來越普遍,針對(duì)于移動(dòng)客戶端的多種方式,那么我們在發(fā)送通知公告時(shí)的渠道也是需要有配置的,比如發(fā)送到PC端、APP端、微信小程序端、微信公眾號(hào)通知、短信通知、電話通知等等,有可能是一種,也有可能是多種,那么此時(shí)我們需要為通知公告增加不同的通知渠道。由于是不定數(shù)量的渠道,所以這里我們增加關(guān)聯(lián)表,來為某一條通知公告設(shè)置通知渠道。默認(rèn)如果不配置渠道,那么都是靜默通知,不彈框也不APP推送。

數(shù)據(jù)庫表設(shè)計(jì)通知公告通知渠道配置表:

CREATE TABLE t_sys_message_channel(
`id` VARCHAR(32) COMMENT '主鍵' ,
`tenant_id` BIGINNT(20) COMMENT '租戶id' ,
`message_id` VARCHAR(32) COMMENT '系統(tǒng)消息id' ,
`message_channel_type` VARCHAR(32) COMMENT '渠道類型(短信、電話、APP PUSH等)' ,
`channel_redirect_url` VARCHAR(255) COMMENT '本渠道的跳轉(zhuǎn)鏈接' ,
`channel_image_url` VARCHAR(255) COMMENT '本渠道的圖片' ,
`creator` BIGINNT(20) COMMENT '創(chuàng)建者' ,
`create_time` DATETIME COMMENT '創(chuàng)建時(shí)間' ,
`operator` BIGINNT(20) COMMENT '更新者' ,
`update_time` DATETIME COMMENT '更新時(shí)間' ,
`del_flag` tinyint(2) COMMENT '是否刪除'
) COMMENT = '通知渠道和系統(tǒng)消息關(guān)聯(lián)表';

6、系統(tǒng)公告表優(yōu)化

除了完成基本的內(nèi)容表設(shè)計(jì)時(shí),我們還需要考慮數(shù)據(jù)量非常大時(shí)的數(shù)據(jù)庫設(shè)計(jì)優(yōu)化問題。在我們的通知公告中,我們發(fā)現(xiàn)有很多消息是通用消息,是發(fā)送給群組的、角色的,這類消息的內(nèi)容是一致的,如果為每個(gè)用戶都新建一條這樣的通知公告數(shù)據(jù)庫記錄。那么會(huì)冗余很多無用數(shù)據(jù)。但是,我們又需要針對(duì)群組、角色中的某一個(gè)用戶標(biāo)識(shí)出通知公告的已讀/未讀狀態(tài)等內(nèi)容,所以此處需要增加關(guān)聯(lián)表,利用關(guān)聯(lián)表來標(biāo)識(shí)某一個(gè)用戶是否讀取了消息。

數(shù)據(jù)庫表設(shè)計(jì)通知公告某一用戶的狀態(tài)字段:

CREATE TABLE t_sys_message_user(
`id` VARCHAR(32) COMMENT '主鍵' ,
`tenant_id` BIGINNT(20) COMMENT '租戶id' ,
`user_id` BIGINNT(20) COMMENT '用戶id' ,
`message_id` VARCHAR(32) COMMENT '系統(tǒng)消息id' ,
`read_already` VARCHAR(32) COMMENT '是否已讀' ,
`creator` BIGINNT(20) COMMENT '創(chuàng)建者' ,
`create_time` DATETIME COMMENT '創(chuàng)建時(shí)間' ,
`operator` BIGINNT(20) COMMENT '更新者' ,
`update_time` DATETIME COMMENT '更新時(shí)間' ,
`del_flag` tinyint(2) COMMENT '是否刪除'
) COMMENT = '用戶和系統(tǒng)消息關(guān)聯(lián)表';

通知公告主表完整建表腳本:

CREATE TABLE t_sys_message(
`id` VARCHAR(32) NOT NULL COMMENT '主鍵(雪花算法)' ,
`tenant_id` BIGINT(20) COMMENT '租戶號(hào)' ,
`title` VARCHAR(100) COMMENT '標(biāo)題' ,
`content` VARCHAR(1000) COMMENT '內(nèi)容' ,
`redirect_url` VARCHAR(255) COMMENT '跳轉(zhuǎn)鏈接' ,
`image_url` VARCHAR(255) COMMENT '消息圖片' ,
`message_category` VARCHAR(32) COMMENT '系統(tǒng)公告 待辦消息 賬戶通知 關(guān)注/收藏/點(diǎn)贊通知' ,
`receive_type` VARCHAR(32) COMMENT '接收消息類型 全員 組 角色 用戶' ,
`to_organization_id` BIGINT(20) COMMENT '接收消息的群組' ,
`to_role_id` BIGINT(20) COMMENT '接收消息的角色' ,
`to_user_id` BIGINT(20) COMMENT '接收消息的用戶' ,
`send_from_type` VARCHAR(32) COMMENT '消息來源類型 系統(tǒng) 組 用戶' ,
`from_group_id` BIGINT(20) COMMENT '發(fā)送消息的組' ,
`from_user_id` BIGINT(20) COMMENT '發(fā)送消息的用戶' ,
`from_system` VARCHAR(32) COMMENT '發(fā)送消息的系統(tǒng)' ,
`publish_time` DATETIME COMMENT '發(fā)布時(shí)間' ,
`recall_flag` TINYINT(2) COMMENT '是否撤回' ,
`recall_time` DATETIME COMMENT '撤回時(shí)間' ,
`message_level` VARCHAR(32) COMMENT '消息級(jí)別 高 中 低' ,
`creator` BIGINT(20) COMMENT '創(chuàng)建人' ,
`create_time` DATETIME COMMENT '創(chuàng)建時(shí)間' ,
`operator` BIGINT(20) COMMENT '更新人' ,
`update_time` DATETIME COMMENT '更新時(shí)間' ,
`del_flag` TINYINT(2) NOT NULL COMMENT '是否刪除' ,
PRIMARY KEY (id)
) COMMENT = '消息通知表';

系統(tǒng)通知公告通常有系統(tǒng)因業(yè)務(wù)狀態(tài)變化自動(dòng)發(fā)起的通知公告和管理人員通過后臺(tái)管理主動(dòng)發(fā)起的通知公告。如果是因業(yè)務(wù)狀態(tài)自動(dòng)發(fā)起的通知公告,那么其發(fā)送的渠道需要結(jié)合業(yè)務(wù)需求,在編碼時(shí)確定。如果是管理人員通過界面發(fā)起的通知公告,那么需要在配置界面提供可選擇的渠道,根據(jù)業(yè)務(wù)需求由發(fā)起人來確定通過哪些渠道發(fā)送。

源碼地址: Gitee:https://gitee.com/wmz1930/GitEgg

GitHub:https://github.com/wmz1930/GitEgg

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2011-05-04 14:40:57

推送通知iOS

2023-11-13 16:58:40

數(shù)據(jù)庫系統(tǒng)

2011-07-04 09:12:53

數(shù)據(jù)庫采購

2011-07-05 08:38:56

數(shù)據(jù)庫采購

2022-06-20 09:17:02

數(shù)據(jù)查詢請求數(shù)據(jù)庫

2011-04-13 15:07:30

數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)

2011-04-13 15:25:12

數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)

2011-04-06 09:33:40

Push動(dòng)互聯(lián)網(wǎng)

2022-02-07 08:27:00

數(shù)據(jù)庫組件功能

2010-03-16 10:12:40

SQL Server

2011-07-18 13:56:19

2023-03-20 08:58:44

2011-07-26 14:56:03

數(shù)據(jù)庫發(fā)展

2010-07-27 09:51:02

DB2數(shù)據(jù)庫

2011-03-28 13:47:12

數(shù)據(jù)庫設(shè)計(jì)

2011-04-13 15:17:09

數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)

2010-07-27 09:45:35

DB2數(shù)據(jù)庫設(shè)計(jì)

2010-04-22 16:16:35

Oracle數(shù)據(jù)庫

2017-01-19 19:43:53

2010-04-22 12:49:34

負(fù)載均衡功能配置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 看特级黄色片 | 国产日韩欧美在线观看 | 免费av电影网站 | 视频在线一区 | 久久久久九九九女人毛片 | 亚洲一区精品在线 | 亚洲va国产日韩欧美精品色婷婷 | 欧美一区二区二区 | 亚洲精品乱码久久久久久按摩 | 天天av天天好逼 | 成人久久18免费网站图片 | 久久se精品一区精品二区 | 91免费福利在线 | 久久国产婷婷国产香蕉 | 日韩一区二区三区在线 | 91天堂 | 亚洲视频精品 | av无遮挡| 国产精品视屏 | 在线免费亚洲视频 | 中文字幕日本一区二区 | 天天操妹子 | 中国一级大黄大片 | 中日韩av| 91亚洲国产成人精品一区二三 | 中文字幕在线第二页 | 精品欧美一区二区三区免费观看 | 亚洲成年人免费网站 | 国产色网 | 亚洲欧美一区二区三区国产精品 | 国产99久久久国产精品 | 国产一级一级毛片 | 国产一区91精品张津瑜 | www亚洲精品| www.9191.com| 中文字幕亚洲一区二区三区 | 久久国产精品免费一区二区三区 | 国产精品日韩欧美一区二区三区 | 久久久久国产 | 亚洲精品一区二区三区中文字幕 | 久久久久久国产精品免费免费男同 |