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

92 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 郵件通知功能優化說明
## 更新日期2025-01-28
## 一、優化內容概述
本次優化主要改善了郵件通知的管理邏輯,實現了郵件通知對象的自動記憶和帶出功能,讓系統更符合實際使用需求。
## 二、主要變更
### 1. 資料庫結構調整
-`ts_temp_spec` 表新增 `notification_emails` 欄位
- 用於儲存規範生效時設定的郵件通知對象清單
- 郵件地址以分號 (;) 分隔儲存
### 2. 功能邏輯改進
#### 規範生效時Activate
- 使用者輸入郵件通知對象
- 系統自動儲存郵件清單到資料庫
- 發送生效通知郵件
#### 規範停止時Terminate
- 系統自動從資料庫讀取之前儲存的郵件清單
- 在介面上預先填入這些郵件地址
- 顯示提示訊息告知使用者這是生效時使用的通知對象
- 使用者可以:
- 直接使用預設的郵件清單
- 修改郵件清單後再發送
- 清空並重新選擇收件者
#### 規範展延時Extend
- 系統自動從資料庫讀取之前儲存的郵件清單
- 在介面上預先填入這些郵件地址
- 顯示提示訊息說明可以編輯郵件清單
- 若使用者修改了郵件清單,系統會更新資料庫中的記錄
- 確保後續的通知都會發送給更新後的收件者
## 三、實施步驟
### 1. 執行資料庫遷移
```bash
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` - 資料庫遷移腳本
### 相容性
- 完全向後相容,不影響現有功能
- 舊資料可正常使用,新功能會在首次使用時生效