# 【前端】产品详情早鸟概览文案 earlyBirdTip 补全:含适用人群 + 人数区间

> **类型**: 后端文案调整(fix,后端已改并部署测试服验证通过)
> **服务**: hl-product-service-v2
> **日期**: 2026-05-28
> **影响范围**: 产品详情 `GET /mp/product/{id}` 返回体的 `earlyBirdTip` 字段(早鸟概览串)
> **归属**: 后端已修(PR #3205 → dev,#3206 同步 dev-v3)
> **状态**: 已部署测试服并验证通过
> **关联**: 跟进 #3182/#3187(早鸟文案体现适用人群)的前端反馈「文案还是不对」

---

## 一、问题

前端反馈早鸟文案不完整。核查测试环境:`earlyBirdTip` 概览串旧版**只有折扣**(如「每人立减 100 元」),**缺适用人群、缺人数区间**。

> 说明:结构化的 `earlyBirdLadder[]` 各项早已带 `applicableTravelerTypesText`/`peopleRangeText`/`discountText`(#3187),但单行概览串 `earlyBirdTip` 没拼进去。

## 二、改动(后端已完成)

`earlyBirdTip` 现拼成完整一行:

| 场景 | 文案格式 | 示例 |
|------|----------|------|
| 单方案 | `{折扣}，适用{人群}（{人数区间}）` | 每人立减 100 元，适用成人/儿童（2-50 人） |
| 多方案 | `共 N 档早鸟方案，最高可享 {首项完整文案}` | 共 2 档早鸟方案，最高可享 每人立减 100 元，适用成人/儿童（2-50 人） |

- 缺人群/人数文案时自动跳过对应片段(只拼有的部分)。
- `earlyBirdLadder[]` 结构化字段**不变**,前端用概览串或结构化阶梯均可拿到适用人群。
- 仅产品详情概览 tip 受影响;订单详情早鸟文案不动。

## 三、测试服实测(产品 2044306857534636034)

```
GET /mp/product/2044306857534636034
earlyBirdTip = "每人立减 100 元，适用成人/儿童（2-50 人）"   ← 原为 "每人立减 100 元"
earlyBirdLadder[0] = { peopleRangeText:"2-50 人", discountText:"每人立减 100 元", applicableTravelerTypesText:"成人/儿童" }
```

如展示样式/措辞还需调整(分隔符、是否带「适用」前缀等),告诉后端具体期望即可改。
