# 产品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时必填 |