# C端「我的旅行回忆」接口新增 — 2026-04-20 > **服务** hl-order-service-v2(端口 8094)· **类型** feat · **关联** Issue #1002 / PR #1004 > **前端调用路径**: 网关(8080) → hl-mp-service(8085) → hl-order-service-v2(8094) > **前端实际请求前缀**: `GET /mp/order/travel-memory`(mp-service 需同步新增 BFF 转发层) --- ## 一、新增接口(1 个) ### 🆕 `GET /mp/order/travel-memory` — 我的旅行回忆 **功能**:返回用户已完成订单(`status=COMPLETED`)分页列表,按 `departure_date DESC, order_id DESC` 排序。 **请求参数**: | 参数 | 位置 | 类型 | 必填 | 默认值 | 约束 | 说明 | | --- | --- | --- | --- | --- | --- | --- | | `page` | Query | `Integer` | 否 | 1 | ≥1 | 页码 | | `pageSize` | Query | `Integer` | 否 | 20 | 1~100 | 每页条数 | > `userId` 由 mp-service 从 token 中获取后透传给 order-service,前端不传。 **返回值** `Result>`: | 字段 | 类型 | 必有 | 说明 | | --- | --- | --- | --- | | `records` | `List` | ✅ | 当前页数据 | | `total` | `Integer` | ✅ | 总记录数 | | `page` | `Integer` | ✅ | 当前页码 | | `pageSize` | `Integer` | ✅ | 每页条数 | **`MpTravelMemoryVO` 字段**: | 字段 | 类型 | 必有 | 说明 | | --- | --- | --- | --- | | `orderId` | `Long` | ✅ | 订单 ID | | `productName` | `String` | ✅ | 产品名称(订单快照) | | `productCoverUrl` | `String` | 否 | 产品封面图 URL | | `departureDate` | `LocalDate` | ✅ | 出发日期,格式 `yyyy-MM-dd` | | `returnDate` | `LocalDate` | 否 | 返程日期,格式 `yyyy-MM-dd`(后端按 `departureDate + tripDays - 1` 推导) | | `tripDays` | `Integer` | 否 | 行程天数 | | `tripNights` | `Integer` | 否 | 行程晚数 | | `reviewed` | `Boolean` | ✅ | 是否已评价(null 兜底为 false) | **请求示例**: ``` GET /mp/order/travel-memory?page=1&pageSize=10 ``` **响应示例**(有数据): ```json { "code": 200, "message": "操作成功", "data": { "records": [ { "orderId": 2043935542092980226, "productName": "草原环线体验·舒适套餐", "productCoverUrl": "https://cdn.1814.love/product/cover/xxxx.png", "departureDate": "2026-07-01", "returnDate": "2026-07-06", "tripDays": 6, "tripNights": 5, "reviewed": true } ], "total": 1, "page": 1, "pageSize": 10 } } ``` **响应示例**(空数据): ```json { "code": 200, "message": "操作成功", "data": { "records": [], "total": 0, "page": 1, "pageSize": 10 } } ``` --- ## 二、阶段 2 增量字段预告 当前响应 **不含** `rating`(1-5 星) 和 `reviewId`。评分数据存 user-service 的 `review` 表,order-service-v2 当前无 `ReviewFeignClient`,跨服务 Feign 拆到阶段 2。 阶段 2 上线后将**在 `MpTravelMemoryVO` 增量新增**以下字段,**不会破坏现有字段**: | 字段 | 类型 | 说明 | | --- | --- | --- | | `rating` | `Integer` | 评分(1-5),未评价为 null | | `reviewId` | `Long` | 评价记录 ID,未评价为 null | --- ## 三、mp-service BFF 层需同步新增 | 前端调用 | mp-service 转发到 | | --- | --- | | `GET /mp/order/travel-memory?page=&pageSize=` | `GET /internal/mp/order/travel-memory?userId={token.userId}&page=&pageSize=` | > mp-service 从用户 token 中提取 `userId`,作为查询参数透传给 order-service。 > `page` / `pageSize` 直接透传,校验由下游 `PageParam` 负责。 --- ## 四、数据库变更 **无**。所有字段均已存在 `order_info` 表。 --- ## 五、错误码 HTTP 始终返回 200,错误码在 `Result.code` 中。 | code | 触发 | 说明 | | --- | --- | --- | | 200 | 正常 | 成功 | | 400 | `page < 1` 或 `pageSize > 100` | 分页参数越界(`PageParam` 校验) | | 401 | token 无效 | mp-service 网关层拦截 | --- ## 六、关联 - Issue: [wx/HL#1002](https://git.1814.love:8443/wx/HL/issues/1002) - PR: [wx/HL#1004](https://git.1814.love:8443/wx/HL/pulls/1004)(已合并到 dev)