# 产品v2 - 总里程自动累加逻辑

**日期**: 2026-04-13
**服务**: product-service-v2
**类型**: 前端功能提醒

---

## 需求

Step3"路线与备品"页面的**总里程**应自动累加各天里程，同时允许手动修改覆盖。

## 逻辑

```
总里程 = SUM(每天的 dailyMileage)
```

- 默认自动累加 Step2 各天的 `dailyMileage` 值（可能为 null，按 0 处理）
- 用户可手动修改总里程，修改后不再自动覆盖（或提供重置按钮恢复自动计算）

## 相关字段

| 位置 | 字段 | 说明 |
|------|------|------|
| Step2 行程天 | `itinerary[].dailyMileage` | 每日里程(km)，可能为null |
| Step3 路线总览 | `totalMileage` | 总里程(km)，保存时传给后端 |

## 数据来源

`GET /admin/product/item/{productId}` 返回：

```json
{
  "itinerary": [
    {"dayNumber": 1, "dailyMileage": null},
    {"dayNumber": 2, "dailyMileage": 120},
    {"dayNumber": 3, "dailyMileage": 160},
    {"dayNumber": 4, "dailyMileage": 200},
    {"dayNumber": 5, "dailyMileage": 220},
    {"dayNumber": 6, "dailyMileage": 200}
  ],
  "routeInfo": {
    "totalMileage": 900,
    "routeDescription": "...",
    "routeMapUrl": "..."
  }
}
```

自动计算：120 + 160 + 200 + 220 + 200 = **900 km**

## 保存

`PUT /admin/product/item/{productId}/route` 请求体中 `totalMileage` 传最终值（不管是自动算的还是手动改的），后端只存不算。
