48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
|
|
# T772 — outcome event product attribution
|
|||
|
|
|
|||
|
|
> Status: `todo`
|
|||
|
|
> Milestone: `M7` · Phase D
|
|||
|
|
> Kind: `feat` · Est. change: `~160 lines`
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
成交回報保存成交當下 Product 歸屬,沿用既有 OutcomeEvent 且不改寫舊成交。
|
|||
|
|
|
|||
|
|
## Depends on
|
|||
|
|
|
|||
|
|
- T762、T771
|
|||
|
|
|
|||
|
|
## Inputs
|
|||
|
|
|
|||
|
|
- growth OutcomeEvent domain/radar conversion flow
|
|||
|
|
- `../spec.md` §4.5、§6
|
|||
|
|
|
|||
|
|
## Outputs
|
|||
|
|
|
|||
|
|
| 路徑 | 動作 | 說明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `apps/backend/internal/module/growth/domain/domain.go` | edit | optional product_id/brand_id attribution |
|
|||
|
|
| radar/crm conversion usecase | edit | won 當下取 primary snapshot IDs |
|
|||
|
|
| `apps/backend/internal/module/growth/repository/{memory,mongo}.go` | edit | optional fields backward compatible |
|
|||
|
|
| `apps/backend/internal/logic/growthmap/map.go` | edit | public outcome mapping |
|
|||
|
|
| conversion tests | edit/add | product、legacy、amend/delete audit |
|
|||
|
|
|
|||
|
|
## Behavior
|
|||
|
|
|
|||
|
|
- 只有人可回報成交;不自動推進或另建成交帳。
|
|||
|
|
- 後續 Product 刪除/primary 改變不改舊 OutcomeEvent。
|
|||
|
|
- legacy outcome 欄位可空,既有彙總不受影響。
|
|||
|
|
|
|||
|
|
## Out of scope
|
|||
|
|
|
|||
|
|
- 產品成交率頁與自動調校(P1)
|
|||
|
|
- 金額規則重做
|
|||
|
|
|
|||
|
|
## Acceptance
|
|||
|
|
|
|||
|
|
- [ ] 既有 growth tests 全綠,product attribution 可讀可稽核。
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd apps/backend && go test ./internal/module/growth/... ./internal/module/crm/... ./internal/module/radar/... -count=1
|
|||
|
|
```
|