docs(v2): 房务酒店详情金额字段补String序列化 changelog (PR#4117)
这个提交包含在:
父节点
28deca3a56
当前提交
e747c7f334
@ -0,0 +1,34 @@
|
||||
# 房务酒店详情金额字段序列化修复(泄成数字 → 字符串)— 修复 — 管理后台
|
||||
|
||||
> 变更类型:🐛 Bug 修复(金额字段序列化,数字 → 字符串)
|
||||
> 端类型:管理后台(房务管家 · 酒店详情 4Tab)
|
||||
> 日期:2026-06-20
|
||||
> 服务:hl-order-service-v3
|
||||
> PR:https://git.1814.love:8443/wx/HL/pulls/4117
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 关键说明(给前端)
|
||||
|
||||
`GET /v3/admin/house/hotels/{hotelId}`(房务酒店详情)的以下金额字段,此前**漏成 JSON 数字**,现统一修为**字符串**(与平台「金额=字符串」契约一致):
|
||||
|
||||
| 字段 | 位置 | 修复前 | 修复后 |
|
||||
|---|---|---|---|
|
||||
| `roomTypes[].protoPrice` | Tab2 房型协议价 | `380.00`(数字) | `"380.00"`(字符串) |
|
||||
| `priceCalendar30d[].price` | Tab3 价格日历当日价 | `380.00`(数字) | `"380.00"`(字符串) |
|
||||
| `basic.protoPrice` | Tab1 协议价兜底 | `480.00`(数字) | `"480.00"`(字符串) |
|
||||
|
||||
前端按字符串接收即可(同详情里其它金额、以及房务各列表/对账金额一致)。
|
||||
|
||||
## 根因
|
||||
|
||||
平台全局 Jackson 只把**超 JS 安全范围的 Long 雪花**转字符串,**不转 BigDecimal**——所以 BigDecimal 金额漏标 `@JsonSerialize(ToStringSerializer)` 就**永远**序列化为数字。这 3 个字段所在的 feign VO 直接作为房务详情响应体序列化给前端,其金额字段漏标(同 VO 的房型/酒店 ID 早已标)。之前审计因测试酒店多数无房型/价格日历,未观测到。
|
||||
|
||||
## 测试(测试服 9443 实测)
|
||||
|
||||
取 3 家真实有房型 + 价格日历的酒店(房型 1-2 个、价格日历 11-30 天)实测:`roomTypes[].protoPrice`、`priceCalendar30d[].price`、`basic.protoPrice` 全部返字符串(如 `"1080.00"`/`"280.00"`),无一泄成数字。编译 BUILD SUCCESS、部署 order-v3 双实例 success。
|
||||
|
||||
## 备注
|
||||
|
||||
- 经纬度 `basic.longitude/latitude` 是坐标,保持数字(不属金额)。
|
||||
- 网关无需改。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户