Files
TEMP_spec_system_V3/MAIL_OPTIMIZATION_GUIDE.md
beabigegg bdfda30ca8 3rd
2025-08-28 11:51:04 +08:00

3.1 KiB
Raw Permalink Blame History

郵件通知功能優化說明

更新日期2025-01-28

一、優化內容概述

本次優化主要改善了郵件通知的管理邏輯,實現了郵件通知對象的自動記憶和帶出功能,讓系統更符合實際使用需求。

二、主要變更

1. 資料庫結構調整

  • ts_temp_spec 表新增 notification_emails 欄位
  • 用於儲存規範生效時設定的郵件通知對象清單
  • 郵件地址以分號 (;) 分隔儲存

2. 功能邏輯改進

規範生效時Activate

  • 使用者輸入郵件通知對象
  • 系統自動儲存郵件清單到資料庫
  • 發送生效通知郵件

規範停止時Terminate

  • 系統自動從資料庫讀取之前儲存的郵件清單
  • 在介面上預先填入這些郵件地址
  • 顯示提示訊息告知使用者這是生效時使用的通知對象
  • 使用者可以:
    • 直接使用預設的郵件清單
    • 修改郵件清單後再發送
    • 清空並重新選擇收件者

規範展延時Extend

  • 系統自動從資料庫讀取之前儲存的郵件清單
  • 在介面上預先填入這些郵件地址
  • 顯示提示訊息說明可以編輯郵件清單
  • 若使用者修改了郵件清單,系統會更新資料庫中的記錄
  • 確保後續的通知都會發送給更新後的收件者

三、實施步驟

1. 執行資料庫遷移

python migrate_add_email_column.py

此腳本會:

  • 檢查 notification_emails 欄位是否已存在
  • 如果不存在,自動新增該欄位
  • 驗證欄位是否成功新增

2. 重啟應用程式

完成資料庫遷移後,重啟 Flask 應用程式以載入新的功能。

四、使用說明

對於管理員

  1. 首次生效:在啟用規範時,輸入所有需要通知的郵件地址
  2. 後續操作:系統會自動記憶這些地址,無需重複輸入

對於編輯者

  1. 終止規範:可以看到並使用之前設定的通知對象
  2. 展延規範
    • 可以保留原有的通知對象
    • 也可以根據需要調整通知名單
    • 修改後的名單會被儲存供下次使用

五、優點

  1. 減少重複輸入:不需要每次都重新輸入相同的郵件地址
  2. 保持一致性:確保同一規範的相關人員都能收到通知
  3. 提供彈性:允許使用者在需要時修改通知名單
  4. 提升效率:加快操作流程,減少錯誤
  5. 改善使用體驗:更符合實際業務邏輯

六、注意事項

  1. 舊的規範資料不會有預存的郵件清單,需要在首次操作時輸入
  2. 郵件地址以分號分隔儲存,系統會自動處理格式
  3. 如果需要完全清空通知名單,可以在介面上刪除所有地址

七、技術細節

修改的檔案

  1. models.py - 新增資料庫欄位
  2. routes/temp_spec.py - 更新郵件處理邏輯
  3. templates/terminate_spec.html - 新增郵件預填功能
  4. templates/extend_spec.html - 新增郵件預填功能
  5. migrate_add_email_column.py - 資料庫遷移腳本

相容性

  • 完全向後相容,不影響現有功能
  • 舊資料可正常使用,新功能會在首次使用時生效