fix: 注册积分 A/B 仅作用于非首次调用,避免双发污染
上游「注册 + 绑码」两次连调均传 initPoints=0 时,之前的版本会对两次 都分桶为 100,导致 agent_user_points_item 出现 2 条 points=100 明细、 summary 被第二次覆盖为 100,明细与汇总不平。
改为:
- 首次调用(agent_user_points 无记录)按原值落账(含 0),不走 A/B;
- 二次及以后且 initPoints==0 才按 uid 奇偶分桶;
- initPoints>0(正常绑码 / admin 充值)全场景原值透传。
AgentUserPointsInnerService 新增 existsByUserId 作为判断抓手。 单测 6→8 个用例,首次/二次 × 偶/奇/正值全覆盖。
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com