hl-api-changelog/changelogs/2026-04/2026-04-02_1043_cf91698a_feat.md

176 行
6.0 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 接口变更记录 — 2026-04-02 10:43
> **提交** `cf91698a` · **作者** wx · **时间** 2026-04-02 10:43:03 +0800
>
> feat: 产品旅行相册功能——用户授权相册+好评图片聚合
## 变更总览
- **小程序聚合服务**
- MpAlbum (+1)
- MpProduct (+1)
- **用户服务**
- InternalReview (+1)
- **订单服务**
- InternalAlbum (+2)
---
## 小程序聚合服务
### MpAlbum
> 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 相册接口」**
### 🆕 `PUT` /mp/album/folder/{folderId}/authorize — 授权/取消授权相册文件夹公开展示
> 用户主动授权将相册文件夹分享到产品旅行相册中展示。
**参数**
- `{folderId}` (`Long`) — 路径参数
- `authorized` (`boolean`) — 查询参数
**响应** `Result<Void>`
### MpProduct
> 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 产品接口」**
### 🆕 `GET` /mp/product/{productId}/travel-album — 产品旅行相册(分页)
> 聚合用户授权的订单相册图片 + 好评评价图片,按时间倒序返回。
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
- `page` (`int`) — 查询参数页码,默认1
- `size` (`int`) — 查询参数每页数量,默认20
**响应** `Result<MpTravelAlbumVO>`
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `photos` | `List<TravelPhotoVO>` | 混合排序后的图片列表(当前页) |
| `total` | `long` | 总图片数(两个来源合计) |
| `page` | `int` | 当前页 |
| `size` | `int` | 每页大小 |
| `albumTotal` | `long` | 相册图片总数 |
| `reviewTotal` | `long` | 评价图片总数 |
| `ossUrl` | `String` | 图片访问URL |
| `thumbnailUrl` | `String` | 缩略图URL |
| `fileType` | `String` | 文件类型: IMAGE/VIDEO |
| `source` | `String` | 来源: ALBUM=订单相册 / REVIEW=用户评价 |
| `authorName` | `String` | 作者名(相册为资源名称,评价为用户昵称) |
| `description` | `String` | 描述 |
| `createdAt` | `LocalDateTime` | 创建时间 |
**关联字典**
- `album_file_type`fileTypeIMAGE=图片, VIDEO=视频
---
## 用户服务
### InternalReview
> 📖 **接口文档**: [http://192.168.100.236:8081/doc.html](http://192.168.100.236:8081/doc.html) → 标签 **「【内部接口】评价统计Feign调用」**
### 🆕 `GET` /internal/review/product/{productId}/good-review-images — 按产品查好评图片(分页)
> 用于产品详情页旅行相册模块,返回已审核好评中的图片
**参数**
- `{productId}` (`Long`) — 路径参数
- `page` (`Integer`) — 查询参数
- `size` (`Integer`) — 查询参数
**响应** `Result<PageResult<ReviewImageVO>>`
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `imageUrl` | `String` | 图片URL |
| `userNickname` | `String` | 用户昵称 |
| `userAvatar` | `String` | 用户头像URL |
| `createdAt` | `LocalDateTime` | 创建时间 |
---
## 订单服务
### InternalAlbum
> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 标签 **「【内部接口】小程序相册Feign调用」**
### 🆕 `PUT` /internal/mp/album/folder/{folderId}/authorize — 用户授权/取消授权相册文件夹公开展示
> 用户在小程序中主动授权将相册分享到产品旅行相册
**参数**
- `{folderId}` (`Long`) — 路径参数
- `userId` (`Long`) — 查询参数
- `authorized` (`boolean`) — 查询参数
**响应** `Result<Void>`
### 🆕 `GET` /internal/mp/album/product/{productId}/shared-photos — 按产品查已授权共享的相册图片(分页)
> 用于产品详情页的旅行相册模块,返回所有用户授权公开的相册图片
**参数**
- `{productId}` (`Long`) — 路径参数
- `page` (`int`) — 查询参数
- `size` (`int`) — 查询参数
**响应** `Result<PageResult<SharedAlbumPhotoVO>>`
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `ossUrl` | `String` | 文件访问URL |
| `thumbnailUrl` | `String` | 缩略图URL |
| `fileType` | `String` | 文件类型: IMAGE/VIDEO |
| `resourceName` | `String` | 资源名称(拍摄地点) |
| `description` | `String` | 文件描述 |
| `createdAt` | `LocalDateTime` | 创建时间 |
---
## 📦 其他数据对象变更
> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应
### 订单服务
#### ✏️ AlbumFolderVO
- 🆕 `shareAuthorized` (`Boolean`) — 是否已授权公开展示
<details>
<summary>📁 全部变更文件 (点击展开)</summary>
```
M hl-gateway/src/main/java/com/hulalv/gateway/filter/JwtAuthFilter.java
M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpAlbumController.java
M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpProductController.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpAlbumFeignClient.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpAlbumFeignFallbackFactory.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpReviewFeignClient.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpReviewFeignFallbackFactory.java
A hl-mp-service/src/main/java/com/hulalv/mp/vo/MpTravelAlbumVO.java
M hl-order-service/src/main/java/com/hulalv/order/controller/InternalAlbumController.java
M hl-order-service/src/main/java/com/hulalv/order/entity/AlbumFolder.java
M hl-order-service/src/main/java/com/hulalv/order/service/AlbumService.java
M hl-order-service/src/main/java/com/hulalv/order/vo/AlbumFolderVO.java
A hl-order-service/src/main/java/com/hulalv/order/vo/SharedAlbumPhotoVO.java
M hl-order-service/src/test/java/com/hulalv/order/service/AlbumServiceTest.java
M hl-user-service/src/main/java/com/hulalv/review/controller/InternalReviewController.java
M hl-user-service/src/main/java/com/hulalv/review/service/ReviewService.java
A hl-user-service/src/main/java/com/hulalv/review/vo/ReviewImageVO.java
M hl-user-service/src/test/java/com/hulalv/review/service/ReviewServiceTest.java
A sql/album_travel_album.sql
```
</details>