All checks were successful
CD Pipeline / deploy (push) Successful in 2m49s
Wave 1.4:客戶/訂單分析報告(行銷主管用)— 受限於資料層無 user_id, 做訂單級分析而非完整 RFM。 generate_customer_analytics_ppt — 7 頁 - P1 封面:含客單定位徽章(高/中/低)+ 限制聲明(無 user_id 註腳) - P2 KPI:總訂單/總業績/平均客單/高客單訂單數 - P3 客單價分佈:6 級分桶橫條(< NT$500 / 500-1K / 1-2K / 2-5K / 5-10K / >10K) - P4 消費星期分佈:matplotlib 橫條(找熱門時段) - P5 商品復購排行 TOP 30:同商品在多筆獨立訂單中的次數 - P6 AI 行銷洞察 - P7 附錄 query_customer_analytics - AOV 分桶(CASE WHEN bucket) - DOW 星期聚合(PostgreSQL EXTRACT(DOW)) - 復購商品(GROUP BY 商品名稱 HAVING COUNT(訂單) >= 5) _ppt_ai_analysis 加 is_customer 分支 - 角色:資深行銷主管(10 年 RFM/CRM 經驗) - 結構:訂單規模解讀 / 消費熱點 / 商品復購信號 / SMART 三層 - 長期建議:建立會員系統取得 user_id 升級完整 RFM 路由: - /ppt customer 預設近 30 天 - /ppt customer 2026/04 指定月份 Telegram 按鈕:「👥 客戶/訂單分析」 bump TEMPLATE_VERSIONS['customer'] = v3.1.0 煙霧測試:7 頁 100KB 全綠。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
路由模組說明
app.py 直接註冊所有 Flask Blueprint;USE_MODULAR_ROUTES、register_blueprints()、
MODULAR_ENDPOINTS 與 duplicate cleanup 開關已在 ADR-017 Phase 3f-1 移除。
啟動防線
app.py 會在啟動時檢查 app.url_map,同一組 (URL, HTTP methods) 不允許被兩個 endpoint
重複註冊;若發現衝突會直接 SystemExit。
模組清單
| 模組 | 說明 | 主要路由 |
|---|---|---|
dashboard_routes.py |
商品看板首頁 | / |
sales_routes.py |
業績分析與 ABC 明細 | /sales_analysis, /growth_analysis, /abc_analysis/detail, /api/sales_analysis/* |
system_public_routes.py |
無 prefix 公開系統頁與監控 | /health, /metrics, /ai_automation_smoke, /api/ai-automation/smoke*, /settings, /system_settings, /logs, /api/logs, /api/backup |
system_routes.py |
內部系統維護 API | /api/system/* |
edm_routes.py |
EDM 與節慶儀表板 | /edm, /festival |
monthly_routes.py |
月結分析 | /monthly_summary_analysis, /api/monthly_summary_data |
daily_sales_routes.py |
當日業績 | /daily_sales, /daily_sales/export* |
api_routes.py |
通用任務與查詢 API | /api/run_task, /api/history/* |
export_routes.py |
匯出功能 | /api/export/* |
import_routes.py |
匯入功能 | /api/import_excel, /api/import/monthly_summary |
新增 route 時請優先放入對應 Blueprint,並用本機 app.url_map duplicate check 驗證。
若 route 內開始出現大量資料處理、SQL、AI prompt 或外部 API 呼叫,請依
docs/guides/modularization_governance.md 抽到 services/ 或 utils/,不要讓 Blueprint 變成新巨檔。