changelog: 87da085 - feat: 产品统一保存接口 + 资源价格日历字段增强 + Knife4j分组名修复

这个提交包含在:
API Changelog Bot 2026-03-17 12:56:18 +08:00
父节点 de8d2b8f3e
当前提交 f236ae6be7

查看文件

@ -63,6 +63,69 @@
**响应** `Result<ProductVO>`
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `productId` | `String` | 产品ID |
| `productNo` | `String` | 产品编号 |
| `productType` | `String` | 产品类型CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团 |
| `name` | `String` | 产品名称 |
| `subtitle` | `String` | 副标题 |
| `tripDays` | `Integer` | 行程天数 |
| `tripNights` | `Integer` | 行程晚数 |
| `departureCity` | `String` | 出发城市 |
| `destinationCity` | `String` | 目的地城市 |
| `destinationCities` | `List<String>` | 途经城市列表(从行程节点资源去重提取) |
| `seasons` | `List<String>` | 适用季节列表 |
| `isBooking` | `Boolean` | 是否预约产品 |
| `paymentMode` | `String` | 支付模式FULL=全款 DEPOSIT=定金+尾款 |
| `adultCount` | `Integer` | 成人人数 |
| `childCount` | `Integer` | 儿童人数 |
| `youngChildCount` | `Integer` | 小童人数 |
| `babyCount` | `Integer` | 婴儿人数 |
| `minAdultPerOrder` | `Integer` | 每单最少成人数(null=默认1) |
| `maxAdultPerOrder` | `Integer` | 每单最大成人数(null=不限) |
| `maxChildPerOrder` | `Integer` | 每单最大儿童数(null=不限) |
| `routeMapUrl` | `String` | 路径图URL后端自动生成 |
| `status` | `String` | 产品状态DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED |
| `tags` | `List<String>` | 产品标签列表 |
| `coverImageUrl` | `String` | 封面图URL |
| `carouselImages` | `List<String>` | 轮播图列表 |
| `carouselVideoUrl` | `String` | 轮播视频URL |
| `folderId` | `String` | 所属文件夹ID |
| `lineId` | `String` | 产品线ID |
| `lineName` | `String` | 产品线名称 |
| `creatorAvatarUrl` | `String` | 定制师头像URL |
| `creatorIntro` | `String` | 创作者寄语 |
| `groupChatQrUrl` | `String` | 群聊二维码URL |
| `chatMessages` | `List<ChatMessageVO>` | 群聊消息列表 |
| `showReview` | `Boolean` | 是否显示评价 |
| `showChatGroup` | `Boolean` | 是否显示群聊入口 |
| `showTripTime` | `Boolean` | 是否显示行程时间 |
| `showTripDistance` | `Boolean` | 是否显示行程距离 |
| `bookingNotice` | `String` | 预定须知 |
| `cancelPolicy` | `String` | 退改政策 |
| `warmTips` | `String` | 温馨提示 |
| `customizerId` | `String` | 定制师ID |
| `publishedAt` | `LocalDateTime` | 发布时间 |
| `sortOrder` | `Integer` | 排序序号 |
| `teamExperienceYears` | `Integer` | 团队经验年数 |
| `lineSubtitle` | `String` | 产品线副标题 |
| `createBy` | `String` | 创建人ID |
| `mchId` | `String` | 商户号 |
| `groupRoomId` | `String` | 企微群聊ID(用于会话存档展示群消息) |
| `updateBy` | `String` | 更新人ID |
| `createTime` | `LocalDateTime` | 创建时间 |
| `updateTime` | `LocalDateTime` | 更新时间 |
| `startPrice` | `BigDecimal` | 起步价:未来一年价格日历中最低成人售价 |
| `itineraryDays` | `List<ItineraryDayVO>` | 行程天列表 |
| `pricing` | `ProductPricingVO` | 定价配置 |
| `costItems` | `List<ProductCostItemVO>` | 成本项列表 |
| `customFees` | `List<ProductCustomFeeVO>` | 自定义费用项列表 |
| `suppliesList` | `List<ProductSuppliesVO>` | 物资列表 |
| `staffConfigs` | `List<ProductStaffConfigVO>` | 人员配置列表(定制产品) |
| `families` | `List<ProductFamilyVO>` | 家庭分组列表(定制产品) |
| `benefitsDescription` | `List<BenefitGroupVO>` | 权益说明(静态,所有产品相同) |
---
## 📦 其他数据对象变更
@ -98,36 +161,6 @@
- ✏️ `status`: 类型 `Integer``String`, 说明 "状态0=不可租 1=可租" → "目标状态(字典 calendar_statusAVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
## 📋 实体变更
### ✏️ ActivityPriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ CostPriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ RoomPriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ ScenicPriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ ServicePriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ StaffPriceCalendar
- ✏️ `status`: 类型 `Integer``String`
### ✏️ VehiclePriceCalendar
- ✏️ `status`: 类型 `Integer``String`
<details>
<summary>📁 全部变更文件 (点击展开)</summary>