Files
ewoooc/routes
OoO d8260fcd25
All checks were successful
CD Pipeline / deploy (push) Successful in 3m31s
feat(ppt): category deep dive report v3.1.0 (90-day single category)
Wave 1.3:單一品類 90 天縱向深度分析(PM/採購用)。

generate_category_deep_ppt(services/ppt_generator.py)— 12 頁
- P1 封面:含品類定位徽章(主力/成長/長尾)+ 新進榜商品 hero box
- P2 執行摘要:4 KPI(業績/訂單/毛利/SKU 數)+ AI 高階解讀
- P3 90 天日業績走勢(matplotlib 折線 + 日均線 + 高低點)+ 結論帶
- P4 子品類結構:橫條 + 帕雷托雙視圖
- P5-P7 TOP 50 商品(自動分頁)
- P8 TOP 30 廠商
- P9 新進榜商品專頁(近 30 天進榜,過去 60 天無交易判定)
- P10 AI 採購/PM 視角洞察
- P11 附錄

query_category_deep(routes/openclaw_bot_routes.py)
- 一次拉齊:kpis / daily(逐日) / top_products(50) / top_vendors(30) /
  sub_categories(L2) / new_products(近 30 天 vs 60 天前比對)
- 用 PostgreSQL CTE 做新進榜判定(recent EXCEPT early)

_ppt_ai_analysis 加 is_category 分支
- 角色:採購主管 + PM 商品經理
- 結構:品類整體 / 90 天趨勢 / 子品類結構 / SKU 與廠商組合 /
  SMART 三層 / 風險預警
- max_tokens 1800

路由:
- /ppt category 美妝保養        90 天深度(預設)
- /ppt category 美妝保養 30     自訂期間

Telegram 按鈕:「🗂 品類深度報告」(await:category_deep)
TODO:實作 await:category_deep 對應品類選擇互動(下一波)

bump TEMPLATE_VERSIONS['category'] = v3.1.0

煙霧測試:12 頁 300KB 全綠。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 02:14:07 +08:00
..

路由模組說明

app.py 直接註冊所有 Flask BlueprintUSE_MODULAR_ROUTESregister_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 變成新巨檔。