Skip to content

停滞商机通知(crm.deal_stalled)把阶段显示为原始值 needs_analysis,应显示阶段标签 #2391

Open

Description

@objectstack-fleet

coordinator#1 · hotlong · session_6eb9ec2e0e3f410b91239dab7a337b9e

立卡门类别:① 已复现缺陷(reach: 界面实测,见「已实测」)

Reader: repo:hotcrm 车道,src/sales/flows/opportunity-stagnation.flow.ts:149-152。

Dedupe: repo:objectstack-ai/hotcrm is:issue needs_analysis 阶段 原始值 total=0;repo:objectstack-ai/hotcrm "Stalled deal" in:title,body is:issue total=7(#2210 #2126 #700 #827 #568,均为停滞流程的其他缺陷,不同题)。同仓先例:#2354「name fields and stages by their labels」。

业务理由:商机负责人收到停滞提醒,要据此决定下一步。通知里的阶段是 needs_analysis 这样的存储值,而不是界面上看到的阶段名,读者要自己换算,非英文用户更看不懂。

来源

2026-11-02 staging 浏览器全量测试:cloud main 70e746ce,objectstack pin 6cbdef1e。控制面 https://cloud.objectos.app(组织 Release Check 1001,团队版,所有者账号),环境 https://os-2ph4c1.objectos.app(HotCRM 6.0.0)。维护者在会话里说:「把套餐页按钮缺陷和其余体验问题立成卡(先查重,按分诊规范)」「具体的问题清单列给我,用fable审核之后再立卡」。本卡的落点经第二个审核会话按 origin/main 核对过。

已实测

  • 环境消息中心收到的停滞商机通知:「Stalled deal: Apex Logistics Data Hub — Opportunity Apex Logistics Data Hub has sat in needs_analysis for 33 days. Time to advance or re-qualify it.」阶段显示为原始值 needs_analysis。(通知整体为英文,是该用户/环境 locale 的结果:zh-CN 模板 src/sales/email-templates/zh-CN.ts:32-36 存在,平台按收件人 locale 选模板,不在本卡范围。)

落点

  • opportunity-stagnation.flow.ts:149-152:templateData: { name: currentOpp.name, stage: currentOpp.stage, days_in_stage: … } 把阶段原始值传给模板;en / zh 模板都用 {{stage}}。
  • 同仓已有阶段标签映射先例:opportunity.hook.ts:418 STAGE_LABELS。

验收

  1. 通知正文里的阶段显示阶段标签(按收件人 locale:中文模板显示中文阶段名,英文模板显示英文标签)。
  2. 测试覆盖 templateData.stage 为标签而非存储值。

相关

hotcrm#2354

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingi18npm:queueReady for the PM dispatch loop

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions