- 功能介紹:
(一)站內信肯定大家都不陌生,是指在系統現有的人員架構的基礎上,進行一對一或一對多傳送郵件的功能。
(二)站內信的目的是為了訊息通知的更為便捷,只在內部流轉,且系統中留有存底的訊息資訊。
(三)站內信的資訊以明碼的方式留存到資料庫中,不做真刪除。
- 資料庫設計:
(一)設計前提:
明確了需求,下一步對於後台開發來說就是資料庫表的設計。對於使用者量大的系統,設計乙個好的資料庫表結構可以為系統節省效能,提高查詢效率的同時使用者體驗也會更好。
(二)設計思路:
1、傳送站內信,在資料庫中冗餘最多的資訊便是站內信的訊息內容,內容多且繁雜,若要一對百或千或萬傳送那麼資料庫中就要存入成千上萬條重複的訊息內容;
2、如果系統使用使用者多(上千上萬級別),但是又有許多廢棄或常年不登入的殭屍號,此時**站內信也會造成沒必要的資料錄入。後台也需要設計過時訊息功能,對資料庫表定時處理,防止常年不登入的賬戶突然登入站內信過多的問題。
3、站內信的刪除,接收者和傳送者都有該條站內信的資料,一方刪除另一方仍然可以查到該條站內信,就需要做好單向刪除。
(三)資料庫表結構:
我在此設計了三張表,用於站內信功能的使用。基於實現,表可能會更多或更少。也歡迎各位大佬提出意見建議。
站內信傳送表:off_mail
該錶記錄站內信傳送人以及接收人的資訊,通過傳送時間和收信人資訊狀態判定是否為過時訊息,對接收人進行刪除處理。
欄位名說明
id唯一主鍵
receive_user_id
接收人id
send_out_name
傳送人姓名
send_time
傳送時間
mail_id
站內信id
send_state
發信人資訊狀態 /0已傳送/1刪除
receive_state
收信人資訊狀態 /0已接收/1刪除
站內信資訊表:off_message
該錶記錄站內信的訊息內容,狀態是做草稿箱處理的。關聯id是站內信的id
欄位名說明
mail_id
關聯站內信mail_id
mail_title
站內信標題
mail_content
站內信內容
receive_name
收信人列表
maile_state
狀態/0已傳送/1草稿箱
站內信接收表:off_receive
該錶記錄站內信的接收人的資訊,當使用者登入時去查詢站內信傳送表是否有該使用者且未過時的站內信,進行寫入。
欄位名說明
id主鍵
send_out_name
傳送人姓名
mail_id
站內信id
receive_id
接收人id
state
狀態/0未讀/1已讀
- 功能實現:
Nginx實現SpringBoot專案的負載均衡
nginx實現springboot專案的負載均衡 1 springboot專案 主類 server.port 9999 實現controller層,其中 value 註解會把配置檔案中的server.port注入給port變數。注意的是 如果該變數是static靜態變數,則無法注入,因為類屬性是優先...
Nginx實現SpringBoot專案的負載均衡
nginx實現springboot專案的負載均衡 1 springboot專案 主類 server.port 9999 實現controller層,其中 value 註解會把配置檔案中的server.port注入給port變數。注意的是 如果該變數是static靜態變數,則無法注入,因為類屬性是優先...
SpringBoot專案熱部署的實現
springboot熱部署實現有兩種方式 使用spring loaded 使用spring boot devtools 我主要就學習了一下spring boot devtools 我們只要在pom.xml檔案中直接新增以下依賴即可 org.springframework.boot spring bo...