thread-master/docs/product/demand-radar/tasks/T589-crm-stats-api-three-di...

1.6 KiB
Raw Blame History

T589 — crm-stats-api-three-dimensions

Status: done
Milestone: M5
Kind: feat
Est. change: ~200 lines

Goal

完成後系統應:GET /api/v1/crm/stats 回關鍵字轉換率、回覆版本成功率、成交來源三維度,樣本 < 5 只給絕對數並標「樣本不足」。

Depends on

  • T548、T572

Inputs

  • Spec../spec.md §4.8、§9.5ST-01ST-03

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/generate/api/crm.api edit stats resp type三維度insufficient_sample 標記)
apps/backend/internal/logic/crm/getCrmStatsLogic.go edit 聚合查詢
apps/backend/internal/module/crm/usecase/stats.go add 三維度計算與樣本門檻判斷

行為變更

  • 關鍵字維度:以 watch term 為單位,won/accepted,附 acceptedrepliedwon 絕對數。
  • 回覆版本維度:以 variant 為單位,(replied + won) / usedused 來自 T548 的 MarkUsed)。
  • 來源維度:radar/既有海巡/manual_import 的成交筆數P0 不含金額)。
  • 任一維度樣本 < 5insufficient_sample=true只回絕對數,不回百分比與排名。

Out of scope

  • 金額維度P1
  • 圖表T591 用既有元件)

Acceptance

  • ST-01accepted 8won 2 → 顯示轉換率與絕對數
  • ST-02樣本 3 → insufficient_sample=true 且無百分比
  • ST-03三種來源分列
  • 指令:
cd apps/backend && make gen-api && go test ./internal/logic/crm/... ./internal/module/crm/... -count=1