thread-master/docs/product/demand-radar/tasks/T600-scout-promote-to-oppor...

1.6 KiB
Raw Blame History

T600 — scout-promote-to-opportunity

Status: done
Milestone: M6
Kind: feat
Est. change: ~170 lines

Goal

完成後系統應:POST /api/v1/scout/posts/:id/promote複製方式建立新 Opportunity 並記 source_scout_post_id,原 ScoutPost 狀態不變。

Depends on

  • T530、T567

Inputs

  • Spec../spec.md §4.10、§9.6PR-01、PR-02
  • 既有:apps/backend/internal/logic/scout/**internal/module/scout/domainoutreach_status

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/generate/api/radar.api 或既有 scout 契約 edit promote route掛既有 scout group
apps/backend/internal/logic/scout/promotePostLogic.go add 讀 ScoutPost → 組 Opportunity 輸入 → 跑同一套判定 → 回 opportunity_id
apps/backend/internal/module/radar/usecase/promote.go add source=scout_promotesource_scout_post_id

行為變更

  • 兩邊狀態機完全不共用promote 後推進 CRM 不影響 outreach_status
  • 同一 ScoutPost 重複 promoteexternal_id 去重,回既有 opportunity_id
  • 跑同一套五問判定與配額/計費規則(受當日上限約束)。

Out of scope

  • 前端動作T601
  • 修改既有海巡三模式行為(必須不變)

Acceptance

  • PR-01promote 後新 Opportunity 存在且 source_scout_post_id 正確,原 ScoutPost 狀態不變
  • PR-02CRM 推進不影響 outreach_status
  • 指令:
cd apps/backend && make gen-api && go test ./internal/logic/scout/... ./internal/module/radar/... -count=1