diff --git a/changelogs-v2/2026-06/20_4118_早鸟管理优惠金额补String序列化-修复-管理后台.md b/changelogs-v2/2026-06/20_4118_早鸟管理优惠金额补String序列化-修复-管理后台.md new file mode 100644 index 0000000..970db9a --- /dev/null +++ b/changelogs-v2/2026-06/20_4118_早鸟管理优惠金额补String序列化-修复-管理后台.md @@ -0,0 +1,34 @@ +# 早鸟优惠管理「优惠金额」序列化修复(泄成数字 → 字符串)— 修复 — 管理后台 + +> 变更类型:🐛 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 消费方无损),非前端可达、不受影响。 +- 网关无需改。