diff --git a/changelogs/2026-04/2026-04-16_product-v2_auto-route-points.md b/changelogs/2026-04/2026-04-16_product-v2_auto-route-points.md new file mode 100644 index 0000000..8064cec --- /dev/null +++ b/changelogs/2026-04/2026-04-16_product-v2_auto-route-points.md @@ -0,0 +1,47 @@ +# 途经路线自动生成 + +- **日期**: 2026-04-16 +- **服务**: hl-product-service-v2 +- **PR**: #614 +- **类型**: feat (新功能) + +## 概述 + +保存行程(Step2)时,自动按天生成途经路线点。前端无需手动维护 `routePoints`。 + +## 行为 + +保存行程后,后端自动为每天生成途经路线: + +``` +集合地 → 景区/活动节点1 → 景区/活动节点2 → ... → 解散地 +``` + +- 每天都有独立的途经路线 +- 每天的首位是产品的**集合地**(`gatherPlace`) +- 每天的末位是产品的**解散地**(`dismissalPlace`) +- 中间是当天的景区(SCENIC)和活动(ACTIVITY)节点名称 +- 全删全插策略,每次保存行程自动重新生成 + +## 前端注意 + +- **不需要手动传 `routePoints`**,保存行程后自动生成 +- 管理端详情中每天的 `routePoints` 会自动有值 +- 前端可以在行程天中展示途经路线标签(如:海拉尔 → 呼籁营地 → 额尔古纳) +- 需要先设置集合地/解散地(Step2的 `gatherPlace`/`dismissalPlace`),否则首尾没有 + +## 响应示例 + +```json +{ + "itinerary": [{ + "dayNumber": 1, + "routePoints": [ + {"name": "海拉尔", "sortOrder": 1}, + {"name": "莫日格勒河观景台", "sortOrder": 2}, + {"name": "呼籁营地", "sortOrder": 3}, + {"name": "海拉尔", "sortOrder": 4} + ] + }] +} +```