diff --git a/changelogs/2026-03/31_fix_order_detail_500.md b/changelogs/2026-03/31_fix_order_detail_500.md new file mode 100644 index 0000000..7d66dd3 --- /dev/null +++ b/changelogs/2026-03/31_fix_order_detail_500.md @@ -0,0 +1,23 @@ +# fix: 订单详情页500错误修复 + +**日期**: 2026-03-31 +**PR**: #95 +**影响服务**: hl-order-service +**影响范围**: 后台管理 - 订单详情页、订单列表中的合同/保险字段 + +## 问题描述 + +订单详情页打开报"服务器内部错误"(500),所有字段显示为空。 + +## 根因 + +服务合并(11→5)后,合同服务和保险服务合并到了 order-service 中。原来通过 Feign 远程调用时,返回的 JSON 会被反序列化为 `Map`;合并后变成本地调用,直接返回 `ContractVO` / `InsuranceOrderVO` 对象,但代码仍然按 Map 遍历,触发 `ClassCastException`。 + +## 修复内容 + +- 用 `ObjectMapper.convertValue()` 将 VO 对象正确转换为 Map +- 涉及4处调用点(单个订单详情 + 批量订单列表) + +## 前端影响 + +**无**。接口返回的数据结构不变,前端无需任何修改。之前报500的订单详情页现在可以正常打开。