hl-api-changelog/changelogs/2026-04/2026-04-21_mp_today-dashboard-full-aggregation.md
yaosutu 75b2033fa3 changelog(trip): 行程中当前行程页聚合 3 连 (PR #1123/#1124/#1125)
- order-v2: TripDetailVO itineraryDays/dailyItinerary/hotelArrangements 强类型化 (#1119/#1123)
- mp+order-v2: today-dashboard 聚合扩展 DAY 导航/时间线/今晚住宿/明日预告 + 领队车牌 (#1120/#1124)
- resource: Hotel 表新增 WiFi SSID/密码字段 (#1121/#1125)
2026-04-21 20:46:19 +08:00

5.7 KiB

行程中今日页聚合接口扩展DAY 导航 / 时间线 / 今晚住宿 / 明日预告 — 2026-04-21

服务 hl-mp-service端口 8085+ hl-order-service-v2端口 8094· 类型 feat · 关联 Issue #1120 / PR #1124 原型 Node IDsaufKi / NTzWR / JZcMi / 1ne4B / oVfPB / OwsOd"行程中 · 当前行程"页) 依赖PR #1123TripDetailVO 强类型化、PR #1121Hotel WiFi 字段,WiFi 数据视其落地情况)


一、影响接口

GET /mp/trip/today-dashboard — 行程中今日页聚合

既有字段 today / leader / weather / sosContact 保持不变,新增 5 字段

二、新增字段

字段 类型 说明
todayProgressPercent Integer 今日进度0~100;无行程中订单时 null
dayNav List<MpTripDayNavVO> DAY Tab 导航列表(原型 dayNavV2
todayTimeline MpTodayTimelineVO 今日时间线(原型 timelineV2;无行程中订单时 null
todayHotel MpTripHotelArrangementVO 今晚住宿(原型 hotelSection / hotelCard
tomorrow MpTomorrowPreviewVO 明日预告(原型 tmr

MpTripDayNavVO

字段 类型 说明
dayNumber Integer 第几天
date LocalDate 日期
dayStatus String DONE / CURRENT / PENDING

MpTodayTimelineVO

字段 类型 说明
completed List<MpTripItineraryNodeVO> 已完成节点(灰色简版行)
current MpTripItineraryNodeVO 当前节点(今日全部完成则为 null
next MpTripItineraryNodeVO 下一节点(今日全部完成则为 null

节点状态推导规则:按 plannedTime 升序排序,取第一个 plannedTime >= 当前时间 的节点为 current,前面为 completed,下一个为 next

MpTripItineraryNodeVO(时间线节点精简版)

nodeSeq, nodeType, nodeTypeLabel, title, subtitle,
plannedTime(HH:mm), durationMinutes, distanceKm

MpTripHotelArrangementVO

字段 类型 说明
dayNumber / date / hotelId / hotelName 基本
checkInTime / checkOutTime String HH:mm
longitude / latitude / address 导航坐标
photoUrls List<String> 酒店照片
rooms List<MpTripHotelRoomVO> 房型roomType / quantity / areaSqm / amenities
wifi MpTripHotelWifiVO WiFi { ssid, password }(酒店未录入时为 null
changedFromYesterday Boolean 与前一晚 hotelId 不同时为 true(前端据此展示"已换酒店·带好行李"

MpTomorrowPreviewVO

字段 类型 说明
dayNumber Integer 明日 DAY+1
routeSummary String "景点1 → 景点2 → 景点3"(仅取 SCENIC/ACTIVITY 节点)
distanceKm Integer 明日总里程
plannedDepartureTime String HH:mm
reminderText String 后端模板化 "明早 {plannedDepartureTime} 出发,请提前收拾行李"

三、联系领队补字段

MpGuideInfoVO 新增

字段 类型 说明
plateNumber String 领队随行车辆车牌号(取 order_vehicle_assignment 第一条;未分配为 null

影响接口:GET /mp/order/{orderId}/guide + GET /mp/trip/today-dashboard 里的 leader

四、空态行为

场景 行为
无行程中订单 today / leader / todayTimeline / todayHotel / tomorrow 均为 null;dayNav = []todayProgressPercent = nullsosContact 仍有客服电话
今天是最后一天 tomorrow = null
今晚无住宿 todayHotel = null
今日节点全部完成 todayTimeline.current / next 为 null,completed 为全部节点
酒店未录入 WiFi todayHotel.wifi = nullIssue #1121 落地后自动有值)

五、响应示例(部分)

{
  "code": 200,
  "data": {
    "today": { "...": "(保持不变)" },
    "leader": {
      "staffId": 9001, "name": "巴图",
      "phone": "138****5678",
      "plateNumber": "蒙E·8A66",
      "assigned": true
    },
    "todayProgressPercent": 40,
    "dayNav": [
      { "dayNumber": 1, "date": "2026-07-01", "dayStatus": "DONE" },
      { "dayNumber": 2, "date": "2026-07-02", "dayStatus": "CURRENT" },
      { "dayNumber": 3, "date": "2026-07-03", "dayStatus": "PENDING" }
    ],
    "todayTimeline": {
      "completed": [
        { "nodeSeq": 1, "nodeType": "SCENIC", "title": "海拉尔出发", "plannedTime": "08:00" }
      ],
      "current": {
        "nodeSeq": 2, "nodeType": "SCENIC", "title": "莫日格勒河",
        "subtitle": "九曲十八弯", "plannedTime": "10:00",
        "durationMinutes": 40, "distanceKm": 50
      },
      "next": { "nodeSeq": 3, "nodeType": "MEAL", "title": "蒙式午餐", "plannedTime": "12:00" }
    },
    "todayHotel": {
      "dayNumber": 2, "date": "2026-07-02",
      "hotelId": 500002, "hotelName": "额尔古纳大酒店",
      "checkInTime": "14:00", "checkOutTime": "12:00",
      "rooms": [{ "roomType": "大床房", "quantity": 1 }],
      "wifi": null,
      "changedFromYesterday": true
    },
    "tomorrow": {
      "dayNumber": 3,
      "routeSummary": "根河湿地 → 白桦林",
      "distanceKm": 180,
      "plannedDepartureTime": "08:00",
      "reminderText": "明早 08:00 出发,请提前收拾行李"
    }
  }
}

六、关联

  • Issue: wx/HL#1120
  • PR: wx/HL#1124(已合并到 dev
  • 前置:2026-04-21_order-v2_trip-detail-vo-typed.md
  • 后续:2026-04-21_resource_hotel-wifi-fields.md