All checks were successful
CD Pipeline / deploy (push) Successful in 3m37s
Wave 1.2:用一份 generator 解 4 種時間維度報表(季/半年/年/TTM)。 generate_period_review_ppt(services/ppt_generator.py)— 12 頁 - 期間類型徽章自動切換(季報/半年報/年報/TTM 滾動) - P1 封面:含業績狀態徽章 + elevator pitch + 期間動能 - P2 執行摘要:KPI v2 含 △% (vs 上季/上半/去年) + AI 解讀 + YoY 對比帶 - P3 月度業績走勢(matplotlib 折線:本期 + 上期 + 月均線 + 高低點)+ 4 卡指標 - P4 品類分析:橫條 + 帕雷托雙視圖 - P5-P7 TOP 50 商品(自動分頁) - P8 TOP 30 廠商 - P9 MCP 市場情報 - P10 AI 結構化洞察 - P11 附錄 query_period_summary(routes/openclaw_bot_routes.py) - 一次拉齊:kpis / monthly_breakdown / top_products(50) / top_categories(8) / top_vendors(30) - 自動算月度聚合(PostgreSQL TO_CHAR) 路由層加 4 種 sub_type 分支: - /ppt quarterly [YYYY/Q1-4] 當季或指定季 - /ppt half_yearly [YYYY/H1-2] 當半年或指定半年 - /ppt annual [YYYY] 當年或指定年 - /ppt ttm 最近 12 個月(自動算到本月底) 每種自動抓三段資料:本期 + 上期同等 + 去年同期 - quarterly: 上季 + 去年同季 - half_yearly: 上半年 + 去年同半年 - annual: 去年 + 前年 - ttm: 上一個 TTM (24-12 月前) + 同上 _ppt_ai_analysis 加 is_period 分支 - 角色:策略顧問 + BU 主管 + CFO 三合一視角 - 結構:整體解讀 / 市場趨勢對位 / 月度走勢分析 / 品類結構 / 戰略級 SMART / 風險預警 - SMART 行動分三層:下期立即啟動(30 天)/ 下期戰略(60-90 天)/ 下下期預備(6-12 月) - max_tokens 2600,字數 1000-1300 Telegram 按鈕:報表選單加 4 顆季/半/年/TTM 按鈕 bump TEMPLATE_VERSIONS:quarterly / half_yearly / annual / ttm 全 v3.1.0 煙霧測試:4 種全綠,每份 12 頁 220KB。 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 變成新巨檔。