diff --git a/changelogs/2026-04/2026-04-13_product-v2_calculate_mileage_api.md b/changelogs/2026-04/2026-04-13_product-v2_calculate_mileage_api.md new file mode 100644 index 0000000..8a0885d --- /dev/null +++ b/changelogs/2026-04/2026-04-13_product-v2_calculate_mileage_api.md @@ -0,0 +1,61 @@ +# 产品v2 - 新增自动计算行程总里程接口 + +**日期**: 2026-04-13 +**服务**: product-service-v2 +**类型**: 新增接口 +**PR**: #431 + +--- + +## 新增接口 + +### `GET /admin/product/item/{productId}/calculate-mileage` + +根据行程途经点坐标,调用高德驾车路线规划API自动计算总驾驶里程。 + +**前提条件**: 产品必须已保存行程(Step2),且行程中至少有2个有效途经点(有经纬度坐标)。 + +**请求参数**: 无(productId在路径中) + +**返回示例**: + +```json +{ + "code": 200, + "data": 1234.5, + "msg": "success" +} +``` + +| 字段 | 类型 | 说明 | +|------|------|------| +| data | BigDecimal | 总里程(km),保留1位小数 | + +**错误情况**: +- 行程途经点不足2个:返回错误提示 +- 高德API调用失败:返回错误提示 + +## 使用场景 + +Step3"路线与备品"页面,前端可调用此接口获取自动计算的里程值,填充到"总里程"输入框中。 + +**建议交互**: +- 进入Step3时,若总里程为空,自动调一次此接口获取里程 +- 提供"自动计算"按钮,点击时调用此接口刷新里程值 +- 用户仍可手动修改覆盖自动计算的值 + +## 同时修复 + +### 行程酒店名快照补全 + +Step2行程保存时,如果住宿节点(accommodations)传了`resourceId`但没传`hotelName`,后端会自动通过Feign查询酒店名称填充。前端无需改动。 + +### Step1 支付字段恢复 + +`POST /admin/product/item/basic` 请求体恢复以下字段: + +| 字段 | 类型 | 说明 | +|------|------|------| +| paymentType | String | 支付方式(字典payment_type: FULL=全款, DEPOSIT=订金+尾款) | +| depositRatio | BigDecimal | 订金比例(0-100),paymentType=DEPOSIT时必填 | +| depositDeadlineDays | Integer | 尾款截止天数(出发前N天),paymentType=DEPOSIT时必填 |