Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
fly_moon_payment fly_moon_payment
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

已经迁移到新的代码仓库,使用飞书登录 https://gitlab.deeplink.media/

  • Administrator
  • fly_moon_paymentfly_moon_payment
  • Merge requests
  • !74

Merged
Created Apr 23, 2026 by 冼杰铿@JieKMaintainer

fix: attachment 直取邮箱/referrer(不用查 sellers)

  • Overview 0
  • Commits 10
  • Changes 2

背景

生产新注册用户 100% 邮箱白名单/collab 早退全部失效。根因:上游 fly_moon_agent 的 loginByEmailFromAccount 外层 @Transactional 事务内 INSERT sellers 未 COMMIT, payment 独立连接 READ COMMITTED 跨事务读不到,重试/sleep 根本救不了。

变更(payment 侧)

  1. Dubbo attachment 直取邮箱/referrer(不用查 sellers)
    • ATTACHMENT_KEY_REGISTER_EMAIL = "register_email"
    • ATTACHMENT_KEY_REGISTER_REFERRER = "register_referrer"
  2. resolveRegisterContext 优先读 attachment,非注册场景回落 sellers 直查
  3. 删除失效的 3×200ms 重试(白耗延迟、救不了)
  4. 保留前版 Nacos 白名单(register-ab.email-whitelist.{control,treatment})+ utm_source=collab 早退
  5. 日志链条 7 节点:attachment 直取 / sellers上下文 / collab 早退 / 邮箱查询 / 白名单命中 / 未命中 / uid 兜底

测试

mvn test AgentUserPointsServiceImplAbTest → 26/26 绿(+4 attachment 路径)

必须同步的上游改动(fly_moon_agent)

TeamServiceImpl.initializationPoints 在 Dubbo 调用前: Sellers sellers = sellersService.getById(userId); // T1 内自可见 RpcContext.getClientAttachment().setAttachment("register_email", email); RpcContext.getClientAttachment().setAttachment("register_referrer", referrer); agentUserPointsService.initUserPoints(userId, initPoints);

两边同版本发布。agent 先发零故障(payment 旧版本忽略 attachment); payment 后发(本 MR)攻抓手生效。

验证

Kibana 搜「注册积分分流-attachment 直取」出现即胜。

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: feat/registration-points-ab-split