问题根因:直推用户先买预种导致 directReferralAdoptedCount 已累加到正确值(如5), 但 markAsAdopted() 随后被调用时硬编码 level=5/bonus=1,覆盖了正确的解锁状态。 之后 backfill 因 count 未变(5>5=false)永远不触发重算,level 永久卡死。 修复:updateAccountUnlockStatus 改用 setDirectReferralAdoptedCount() 替代 incrementDirectReferralAdoptedCount 循环,无论 count 是否变化都强制调用 updateUnlockStatus() 重算 unlockedLevelDepth 和 unlockedBonusTiers。 同时为 getDirectReferralAdoptedCount 补充注释,说明常规认种和预种均按人头计。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| prisma | ||
| src | ||
| .env.example | ||
| DEVELOPMENT_GUIDE.md | ||
| Dockerfile | ||
| nest-cli.json | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||