35 行
1.9 KiB
Markdown
35 行
1.9 KiB
Markdown
# 早鸟优惠管理「优惠金额」序列化修复(泄成数字 → 字符串)— 修复 — 管理后台
|
||
|
||
> 变更类型:🐛 Bug 修复(金额字段序列化,数字 → 字符串)
|
||
> 端类型:管理后台(营销 · 早鸟优惠管理)
|
||
> 日期:2026-06-20
|
||
> 服务:hl-order-service-v3
|
||
> PR:https://git.1814.love:8443/wx/HL/pulls/4118
|
||
|
||
---
|
||
|
||
## ⚠️ 关键说明(给前端)
|
||
|
||
早鸟优惠管理 `GET /v3/admin/order/early-bird/list`(列表)与 `GET /v3/admin/order/early-bird/{planId}`(详情)返回的 `EarlyBirdPlanVO.discountAmount`(优惠金额),此前漏成 JSON 数字,现修为**字符串**(与平台「金额=字符串」契约一致):
|
||
|
||
| 字段 | 修复前 | 修复后 |
|
||
|---|---|---|
|
||
| `discountAmount` | `200.00`(数字) | `"200.00"`(字符串) |
|
||
|
||
- `discountPercent`(折扣率 0~100,如 `90.0`)**仍为数字**——它是比例不是金额,前端按数字用(`90` → 9 折)。
|
||
- `planId` 等雪花 ID 仍为字符串。
|
||
|
||
## 根因
|
||
|
||
平台全局 Jackson 只把超 JS 范围的 Long 雪花转字符串、不转 BigDecimal,故金额 BigDecimal 漏标 `@JsonSerialize(ToStringSerializer)` 就泄成数字。`AdminEarlyBirdController`(前端管理页)直接返回 `EarlyBirdPlanVO`,其 `discountAmount` 漏标。
|
||
|
||
## 测试(测试服 9443 实测)
|
||
|
||
早鸟列表/详情实测:`discountAmount` 返字符串(`"200.00"`/`"80.00"`/`"150.00"`),`discountPercent` 仍数字、`planId` 字符串。编译 BUILD SUCCESS、部署 order-v3 双实例 success。
|
||
|
||
## 备注
|
||
|
||
- 列表端点是 `/v3/admin/order/early-bird/list`(不是裸 `/v3/admin/order/early-bird`,后者会被 `/{id}` 路由捕获)。
|
||
- 全 order-v3 金额序列化已横扫收口:除本次与房务详情 3 feign VO(#4117)外,其余漏标的金额都在请求 VO / `/internal/` 响应 / feign 入站 DTO(Java 消费方无损),非前端可达、不受影响。
|
||
- 网关无需改。
|