Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
fly_moon_agent fly_moon_agent
  • 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 4
    • Merge requests 4
  • 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_agentfly_moon_agent
  • Merge requests
  • !93

Open
Created May 15, 2026 by 张泽@zhangzeDeveloper8 of 8 tasks completed8/8 tasks
  • Report abuse
Report abuse

feat(trial): mirror payment-api shadow copies for Reviewer P0 #1 EligibilityResult (LES-1184)

  • Overview 0
  • Commits 3
  • Changes 8

背景

跟随 fly_moon_payment MR(同 LES-1184 Reviewer P0 #1)—— TrialFacadeService 接口签名变了(新增 checkEligibility(Long),旧 isEligible 标 @Deprecated),新增 TrialEligibilityMissReason 枚举和 TrialEligibilityResultVO。

⚠️ 临时副本:源在 fly_moon_payment/flymoon-payment-api,待 payment-api Maven 包 bump 并发布到 Nexus(当前 cached 版本 1.0.20260508 不含本批新类)后,删除本副本走 Nexus 解析。Dubbo 按 FQN 解析服务,本仓库副本必须与 payment 侧接口签名 byte-for-byte 一致。

改动清单

  • flymoon-agent-provider/.../service/TrialFacadeService.java:新增 checkEligibility(Long),旧 isEligible 标 @Deprecated
  • flymoon-agent-provider/.../enums/TrialEligibilityMissReason.java(新):9 个枚举值副本
  • flymoon-agent-provider/.../vo/TrialEligibilityResultVO.java(新):{eligible, reason} 结构副本
  • flymoon-agent-provider/.../vo/TrialPopupCheckVO.java:新增 reason 字段,与 payment 一致

测试

  • mvn compile flymoon-agent-provider 通过
  • mvn test-compile 通过(agent 侧未消费新 checkEligibility,本 PR 不调用,仅保持 Dubbo facade 形状匹配)

线下验证

  • 环境:s1
  • 构建:build_image_flymoon_agent #158
  • 部署:DM_s1_flymoon_agent
  • 验证:本仓库改动是 Dubbo facade 副本同步,无新业务路径。验证方法是确认服务启动后通过 /api/trial/popup/check 能拿到 reason 字段(即 payment 侧的响应能成功跨 Dubbo 反序列化到 agent,再回前端)

相关

  • Issue: LES-1184
  • payment 主 MR:fly_moon_payment!84
  • 前端 MR:jennie!264
  • Agent-Task-Id: 20260515-les1184-p0

执行报告(dev-workflow Stage 7)

任务摘要

  • 类型:feat(架构改进 + 可观测性)
  • 范围:跨仓库(fly_moon_payment + fly_moon_agent + jennie)
  • 验收标准(Reviewer 给的 #1+#2+#3 三条):全部 ✅
    • #1 isEligible 返回结构化结果 → TrialEligibilityResultVO {eligible, reason}
    • #1 /popup/check 透出 reason → TrialPopupCheckVO.reason + 前端 trial_popup_aborted 埋点
    • #1 MissReason 覆盖 5 条规则 + ROLLOUT_GATE + PRICE_NOT_CONFIGURED(实际 9 个:含 NULL_USER_ID / NO_REGISTRATION_RECORD 兜底)
    • #2 deploy smoke:scripts/jenkins-deploy-smoke-trial.sh 已加,Jenkins pipeline 接入由 ops 跟进
    • #2 counter:log-based [funnel.trial.eligibility_check / popup_check] result=...(Micrometer 接入留 follow-up)
    • #3 priceId 短路:PlanConfigServiceImpl 没动,priceId 检查放在 TrialEligibilityService 规则 0b(rollout 后、DB 前),打 MissReason=PRICE_NOT_CONFIGURED

改动清单(commit)

  • fly_moon_payment 63ec6bf(10 files +507/-44)
  • fly_moon_agent f2fb05ce(4 files +75)
  • jennie 35ed5f8a(1 file +41/-1)

部署(s1 SIT)

  • build_image_flymoon_payment #239 ✅ 1m40s
  • DM_s1_flymoon_payment #183 ✅ 1m13s
  • build_image_flymoon_agent #158 ✅ 1m03s
  • DM_s1_flymoon_agent #130 ✅ 1m36s
  • build_image_lessie_ai_web #794 ✅ 1m22s
  • DM_s1_lessie_ai_web #217 ✅ 0m30s

测试

  • 单测:flymoon-payment-provider mvn test → 139 / 139 全绿(TrialEligibilityServiceTest 含 9 个新 case:null user / rollout / priceId(null|blank|trialPlan-null) / already-paid-with-reason / pass-with-null / funnel-anchor / sanity)
  • agent:mvn compile + mvn test-compile 全绿
  • 前端:npx tsc --noEmit 0 错,biome check src/models/trial.ts 0 错

风险与后续

  • 风险:本 PR 不修改 Nacos 也不改 Jenkinsfile / Grafana rules——ops 仍需推齐 trialPlan.subscription.priceId=<sit-trial-price> + trialPlan.rollout.enabled=true uidWhitelist=[QA uid],然后跑一次 scripts/jenkins-deploy-smoke-trial.sh 验证三种 exit code 都按预期工作
  • 下一步:Reviewer 复审 → 合并 → ops 推 Nacos → smoke 跑绿 → Fifi 在 s1.jennie.im 验证弹窗
  • Follow-up(不在本 PR):Reviewer P1 #4 sendBeacon / #5 recordDismiss / 小架构债 / Micrometer 接入 / payment-api Nexus bump

审计

  • Agent-Task-Id: 20260515-les1184-p0
Edited May 15, 2026 by 张泽
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: agent/claude-opus-4-7/13328219