0e61513b0ed1b15108e90268cf98d1df10a6000a
Problem: ActivateClubMembership overwrites ActivatedAt on re-purchase, losing the original club activation date. Commission check uses ActivatedAt to determine 'new member this week'. Solution: New ClubMembershipCycle table - Each package purchase creates a new cycle record - ClubMembership.ActivatedAt = first-time only (never overwritten) - Commission uses Cycle.PackagePurchasedAt instead of ActivatedAt - IsCurrentCycle flag tracks active cycle - Full history preserved for all purchase cycles Also updated: - SPEC: section 7.5 (entity), 7.6 (migration), 8.2 (SP change), 8.3 (handler) - PLAN: phase 1 (entity), phase 2 (activate handler), phase 4 (date query) - Checklist: added 4 new items
Description
No description provided
Languages
Markdown
100%