thread-master/docs/product/demand-radar/tasks/T548-reply-variant-model-re...

1.4 KiB
Raw Blame History

T548 — reply-variant-model-repository

Status: done
Milestone: M3
Kind: feat
Est. change: ~130 lines

Goal

完成後系統應ReplyVariant domain 與 repository 就位,一個商機下每個 variant 至多一筆最新版本,並可記錄使用與送出管道。

Depends on

  • T501

Inputs

  • Spec../spec.md §4.5、§8radar_replies、§9.3RP-01

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/internal/module/radar/domain/reply.go add variant 枚舉 `public_comment
apps/backend/internal/module/radar/repository/reply_mongo.go add Upsert(owner, opportunity, variant)、ListByOpportunity、MarkUsed(channel)
apps/backend/internal/module/radar/repository/reply_memory.go add 測試用

行為變更

  • 重新生成同 variant 為覆寫(保留 used_atsent_channel 若已使用)。
  • MarkUsed 記錄送出管道(outboxmanual_copy),供 T589 回覆版本成功率統計。

Out of scope

  • 生成邏輯與 forbidden 過濾T549
  • 送出接線T550

Acceptance

  • unit test同 variant 兩次 upsert 只有一筆;MarkUsed 後重生仍保留使用紀錄
  • 指令:
cd apps/backend && go test ./internal/module/radar/... -count=1