hl-api-changelog/changelogs/2026-03/2026-03-25_trip_detail_upgrade.md

5.3 KiB

行程详情接口改造 — 集成相册、评价、进度统计

行程详情接口 GET /mp/trip/{orderId} 增量改造,按三种行程阶段新增字段。原有字段全部保留不变,纯新增。


一、接口信息

项目 说明
接口路径 GET /mp/trip/{orderId}
涉及服务 hl-mp-serviceBFF→ hl-order-service → hl-review-service
需重启服务 hl-order-service、hl-review-service、hl-mp-service

二、新增字段(按行程阶段)

2.1 开始前tripPhase = "BEFORE_START"

新增字段 类型 说明
itinerarySummary Array<Object> 行程路线摘要,用于渲染 DAY 卡片列表
itinerarySummary[].dayNumber Integer 第几天
itinerarySummary[].dayTitle String 当天标题(如"森林公园休闲"
itinerarySummary[].dayCoverUrl String | null 当天封面图URL

2.2 行程中tripPhase = "IN_PROGRESS"

新增字段 类型 说明
traveledDistanceKm Integer 已行驶里程km,含当天
visitedScenicCount Integer 已到访景点数,含当天
pendingScenicCount Integer 待到访景点数(未来天数)
todayTitle String | null 当日行程标题(如"DAY 2 森林公园休闲"中的"森林公园休闲"

2.3 已结束tripPhase = "ENDED"

旅拍相册

新增字段 类型 说明
albumStatus String 相册状态:NONE=无相册, GENERATING=生成中(有文件夹无文件), READY=已生成
albumFolderCount Integer 相册文件夹数
albumFileCount Integer 相册文件总数(照片+视频)
albumCoverUrl String | null 相册封面图URL

行程评价

新增字段 类型 说明
reviewStatus String 评价状态:NONE=未评价, 其他值为评价审核状态(如 APPROVED
reviewId String | null 评价ID,可用于跳转查看评价详情
ratingItinerary Integer | null 行程安排评分(1-5)
ratingAccommodation Integer | null 住宿安排评分(1-5)
ratingDriver Integer | null 司机服务评分(1-5)
ratingDining Integer | null 餐饮质量评分(1-5)
ratingOverall Integer | null 整体满意度评分(1-5)
ratingLevel String | null 评价等级:GOOD/MEDIUM/BAD
reviewContent String | null 评价文字内容
isReviewed Boolean 是否已评价兼容旧字段,true=已评价)

三、原有字段(不变)

以下字段保持不变,前端无需修改现有逻辑:

通用字段orderId, orderNo, productName, productCoverUrl, departureDate, tripDays, tripNights, status, tripPhase, currentDayNumber, countdownDays, countdownHours, dateRange, totalPeople, productDescription, guideName, guidePhone, guideAvatar, guideStaffType, meetingTime, meetingLocation, meetingNodeName, customizerId, customizerName, customizerAvatarUrl, customizerQrUrl, contracts, insurances, itineraryDays, totalScenicCount, totalDistanceKm, avgDailyDistanceKm

开始前特有warmTips, bookingNotice, suppliesList, cancelPolicy, refundPolicyId

行程中特有travelTips, todayDayNumber

已结束特有completedAt


四、使用场景

场景1已结束页面 — 旅拍相册区域

if (albumStatus === 'NONE') → 不显示相册区域
if (albumStatus === 'GENERATING') → 显示"旅拍相册生成中" + 加载动画
if (albumStatus === 'READY') → 显示"旅拍相册已生成" + albumCoverUrl封面 + "查看相册"按钮
  点击查看相册 → 跳转相册页面(已有 /mp/album/orders/{orderId}/folders 接口)

场景2已结束页面 — 行程评价区域

if (reviewStatus === 'NONE') → 显示评价入口(星级选择 + "提交评价"按钮)
if (reviewStatus !== 'NONE' && isReviewed) → 显示已提交的评分星级
  ratingOverall → 整体满意度星级
  ratingDriver → 定制师/司机满意度星级
  点击"查看评价" → 跳转评价详情(用 reviewId

场景3已结束页面 — 行程回顾

totalDistanceKm → 总里程(如"2485公里"
avgDailyDistanceKm → 日均里程(如"393公里"
totalScenicCount → 到访景点数(如"12个"

场景4行程中页面 — 顶部进度

traveledDistanceKm → 已行驶里程
visitedScenicCount → 已到访景点
pendingScenicCount → 待到访景点
todayTitle → 当日标题(如"森林公园休闲"
currentDayNumber → 第几天(如 2

场景5开始前页面 — 行程路线DAY列表

itinerarySummary.forEach(day => {
  渲染卡片DAY {day.dayNumber} {day.dayTitle}
  背景图day.dayCoverUrl
})

五、注意事项

  1. 新增字段仅在对应阶段返回,其他阶段为 null 或不存在
  2. isReviewed 字段保留向后兼容,新代码建议优先使用 reviewStatus 判断
  3. 相册相关的增删改接口已有,无需新开发:
    • 小程序端查看:GET /mp/album/orders/{orderId}/foldersGET /mp/album/folders/{folderId}/files
    • 后台管理:POST /admin/order/{orderId}/album/folderPOST /admin/order/album/folder/{folderId}/files