From 6d65caff038a0a3b93aa99140f2a993a8609ca03 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 14 Apr 2026 10:41:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(product-v2):=20=E8=AE=A1=E7=AE=97=E9=87=8C?= =?UTF-8?q?=E7=A8=8B=E6=8E=A5=E5=8F=A3=E5=BC=82=E5=B8=B8=E6=94=B9=E4=B8=BA?= =?UTF-8?q?BusinessException=20(PR=20#480)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-04-14_1040_fix_amap_business_exception.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 changelogs/2026-04/2026-04-14_1040_fix_amap_business_exception.md diff --git a/changelogs/2026-04/2026-04-14_1040_fix_amap_business_exception.md b/changelogs/2026-04/2026-04-14_1040_fix_amap_business_exception.md new file mode 100644 index 0000000..3d53522 --- /dev/null +++ b/changelogs/2026-04/2026-04-14_1040_fix_amap_business_exception.md @@ -0,0 +1,25 @@ +# fix(product-v2): 计算里程接口500错误修复 + +- **PR**: #480 +- **服务**: hl-product-service-v2 +- **类型**: bug修复 + +## 问题 + +`GET /admin/product/item/{id}/calculate-mileage` 接口在产品未保存行程途经点时返回500,前端只能看到"服务器内部错误",无法得知具体原因。 + +## 修复内容 + +将 `AmapDrivingService` 中的异常类型从 `IllegalArgumentException`/`RuntimeException` 改为 `BusinessException`,前端现在能看到具体错误提示: + +| 场景 | 修复前提示 | 修复后提示 | +|------|-----------|-----------| +| 途经点不足2个 | 服务器内部错误 | 行程途经点不足2个,无法计算里程,请先保存行程(Step2) | +| 有效坐标不足 | 服务器内部错误 | 有效途经点(含经纬度)不足2个,无法计算里程 | +| 高德API调用失败 | 服务器内部错误 | 里程计算失败: 具体原因 | + +## 前端影响 + +- **无接口变更**,接口入参和成功返回值不变 +- 失败时 `code` 从 `500` 变为业务错误码,`message` 字段包含具体中文提示,前端可直接展示给用户 +- 建议前端在调用失败时用 `message` 字段做 toast 提示