1.9 KiB
1.9 KiB
早鸟优惠管理「优惠金额」序列化修复(泄成数字 → 字符串)— 修复 — 管理后台
变更类型:🐛 Bug 修复(金额字段序列化,数字 → 字符串) 端类型:管理后台(营销 · 早鸟优惠管理) 日期:2026-06-20 服务:hl-order-service-v3 PR:wx/HL#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 消费方无损),非前端可达、不受影响。 - 网关无需改。