- GET /mp/order/travel-memory 接口首发 (PR #1004 / Issue #1002) - MpTravelMemoryVO 补 rating + reviewId 字段 (PR #1014 / Issue #1011) - 对应原型 wwWKT 行程 Tab·回头客 本地已有两份完整 changelog 但此前未推送,本次一并推送远程。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
124 行
4.0 KiB
Markdown
124 行
4.0 KiB
Markdown
# C端「我的旅行回忆」接入评分 — 2026-04-20
|
||
|
||
> **服务** hl-order-service-v2(端口 8094)+ hl-user-service(端口 8081)· **类型** feat · **关联** Issue #1011 / PR #1014
|
||
> **依赖变更** 延续 PR #1004 的 `GET /mp/order/travel-memory`,本期补评分字段
|
||
|
||
---
|
||
|
||
## 一、现有接口字段新增(无路径/参数变更)
|
||
|
||
### ✏️ `GET /mp/order/travel-memory` — 我的旅行回忆
|
||
|
||
**请求参数**:不变(`page` / `pageSize`)。
|
||
|
||
**`MpTravelMemoryVO` 新增 2 个字段**:
|
||
|
||
| 字段 | 类型 | 必有 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `rating` | `Integer` | 否 | 整体满意度评分(1-5),**未评价或评价服务降级时为 null** |
|
||
| `reviewId` | `Long` | 否 | 评价 ID,**未评价或评价服务降级时为 null** |
|
||
|
||
**原有字段保持不变**:`orderId` · `productName` · `productCoverUrl` · `departureDate` · `returnDate` · `tripDays` · `tripNights` · `reviewed`
|
||
|
||
**响应示例**(已评价 + 未评价混合):
|
||
|
||
```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,
|
||
"rating": 5,
|
||
"reviewId": 6001
|
||
},
|
||
{
|
||
"orderId": 2043935542092980211,
|
||
"productName": "呼伦贝尔深度游·豪华版",
|
||
"productCoverUrl": "https://cdn.1814.love/product/cover/yyyy.png",
|
||
"departureDate": "2026-05-15",
|
||
"returnDate": "2026-05-20",
|
||
"tripDays": 6,
|
||
"tripNights": 5,
|
||
"reviewed": false,
|
||
"rating": null,
|
||
"reviewId": null
|
||
}
|
||
],
|
||
"total": 2,
|
||
"page": 1,
|
||
"pageSize": 10
|
||
}
|
||
}
|
||
```
|
||
|
||
### 降级行为
|
||
|
||
评价服务(hl-user-service)不可用时,本接口走 Fallback:
|
||
- `records` 正常返回(订单基础字段齐全)
|
||
- 所有订单的 `rating` 和 `reviewId` 均为 null
|
||
- HTTP 200,`code=200`,不抛异常
|
||
|
||
---
|
||
|
||
## 二、新增内部接口(服务间,前端无需关心)
|
||
|
||
### 🆕 `GET /internal/review/orders/summaries` — 批量订单评价摘要
|
||
|
||
> 仅供 `hl-order-service-v2` 通过 Feign 调用 `hl-user-service`。网关未暴露,前端不调用。
|
||
|
||
**请求参数**:
|
||
|
||
| 参数 | 位置 | 类型 | 必填 | 约束 | 说明 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `orderIds` | Query | `String` | ✅ | 逗号分隔,≤200 | 订单 ID 列表 |
|
||
|
||
**返回值** `Result<List<InternalOrderReviewSummaryVO>>`:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `orderId` | `Long` | 订单 ID |
|
||
| `reviewId` | `Long` | 评价 ID |
|
||
| `ratingOverall` | `Integer` | 整体满意度评分(1-5) |
|
||
| `ratingAvg` | `BigDecimal` | 综合评分(各维度算术平均,1 位小数) |
|
||
| `ratingLevel` | `String` | 评价等级:GOOD/MEDIUM/BAD |
|
||
| `content` | `String` | 评价正文 |
|
||
| `hasImage` | `Boolean` | 是否含图片 |
|
||
| `status` | `String` | 评价状态(字典 `review_status`:PENDING_MODERATION/APPROVED/REJECTED 等) |
|
||
| `createdAt` | `LocalDateTime` | 评价创建时间 |
|
||
|
||
**查询语义**:仅返回 `target_type='PRODUCT'` 的评价;**未评价的 orderId 不出现在返回列表中**;不过滤 `status`(包括待审核/被拒)。
|
||
|
||
---
|
||
|
||
## 三、数据库变更
|
||
|
||
**无**。评价数据已存在 `order_review` 表。
|
||
|
||
---
|
||
|
||
## 四、错误码
|
||
|
||
HTTP 始终返回 200,错误码在 `Result.code` 中。
|
||
|
||
| code | 触发 | 说明 |
|
||
| --- | --- | --- |
|
||
| 200 | 正常 | 成功(评价服务降级时 code 也是 200,rating/reviewId 为 null) |
|
||
| 400 | `orderIds` 超过 200 | 批量接口校验(`BusinessException`) |
|
||
|
||
---
|
||
|
||
## 五、关联
|
||
|
||
- Issue: [wx/HL#1011](https://git.1814.love:8443/wx/HL/issues/1011)
|
||
- PR: [wx/HL#1014](https://git.1814.love:8443/wx/HL/pulls/1014)(已合并到 dev)
|
||
- 前置:[2026-04-20_order-v2_mp-travel-memory.md](./2026-04-20_order-v2_mp-travel-memory.md)(PR #1004)
|