父节点
c27eb63425
当前提交
7a6df61262
@ -0,0 +1,56 @@
|
|||||||
|
# feat: 产品详情自动生成早鸟优惠文案字段 earlyBirdTip
|
||||||
|
|
||||||
|
> **服务**: hl-product-service-v2
|
||||||
|
> **PR**: #918
|
||||||
|
> **Issue**: #915
|
||||||
|
> **日期**: 2026-04-19
|
||||||
|
> **前端是否需要改动**: **展示新字段**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、新增字段
|
||||||
|
|
||||||
|
管理端 + 小程序端产品详情接口**新增** `earlyBirdTip: String` 字段:
|
||||||
|
|
||||||
|
| 接口 | 方法 | 路径 | 新字段 |
|
||||||
|
|------|------|------|--------|
|
||||||
|
| 管理端产品详情 | GET | `/admin/product/item/{id}` | `earlyBirdTip: String` |
|
||||||
|
| 小程序端产品详情 | GET | `/mp/product/{id}` | `earlyBirdTip: String` |
|
||||||
|
|
||||||
|
**其他字段不变**。
|
||||||
|
|
||||||
|
## 二、字段语义
|
||||||
|
|
||||||
|
后端根据产品绑定的生效早鸟优惠计划**自动生成**的营销文案字符串。
|
||||||
|
|
||||||
|
### 生成规则
|
||||||
|
- 正常格式:`满 {minPeople} 人订单总价优惠 {discountAmount} 元`
|
||||||
|
- `minPeople=null/0` 降级:`订单总价优惠 {discountAmount} 元`
|
||||||
|
- 金额自动去除小数尾零:`100.00 → 100`、`99.50 → 99.5`
|
||||||
|
- 未绑定 / 早鸟过期 / 早鸟禁用 / Feign 异常 → **`null`**(前端不渲染)
|
||||||
|
|
||||||
|
### 业务约束
|
||||||
|
一个产品**最多绑定一个**早鸟优惠计划(1-1 关系,由 order-v2 保证,Issue #917 跟进)。
|
||||||
|
|
||||||
|
## 三、前端建议展示位置
|
||||||
|
|
||||||
|
营销区块 / 价格区块附近,高亮展示。例如:
|
||||||
|
```html
|
||||||
|
<div v-if="product.earlyBirdTip" class="early-bird-banner">
|
||||||
|
🎉 {{ product.earlyBirdTip }}
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 四、测试环境验证
|
||||||
|
|
||||||
|
| 场景 | 结果 |
|
||||||
|
|------|------|
|
||||||
|
| 产品绑定 55 元/2 人早鸟 | `"满 2 人订单总价优惠 55 元"` ✓ |
|
||||||
|
| 产品未绑定早鸟 | `null` ✓ |
|
||||||
|
|
||||||
|
两端完全对称,行为一致。
|
||||||
|
|
||||||
|
## 五、相关 Issues(顺带跟进,非本 PR)
|
||||||
|
|
||||||
|
- Issue #916 早鸟编辑页适用产品回显 ID 而非名称
|
||||||
|
- Issue #917 强制"一产品一早鸟"唯一约束
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户