hl-api-changelog/changelogs/2026-03/2026-03-17_1244_87da085_feat.md

12 KiB

接口变更记录 — 2026-03-17 12:44

提交 87da085 · 作者 wx · 时间 2026-03-17 12:44:59 +0800

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

变更总览

  • 产品服务
    • Product (+1)

产品服务

Product

🆕 POST /admin/product/item/save — 保存产品(统一创建/更新)

请求体 ProductSaveRequest

字段 类型 说明
productId Long 产品ID传入则更新,不传则创建
name String 产品名称
subtitle String 副标题
productType String 产品类型CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团(创建时必填,更新时忽略)
tripDays Integer 行程天数
departureCity String 出发城市
destinationCity String 目的地城市
seasons List<String> 适用季节列表,如 [\
tags List<String> 产品标签列表,如 [\
isBooking Boolean 是否预约产品
adultCount Integer 成人人数
childCount Integer 儿童人数
youngChildCount Integer 小童人数
babyCount Integer 婴儿人数
minAdultPerOrder Integer 每单最少成人数(不填默认1)
maxAdultPerOrder Integer 每单最大成人数(不填则不限制)
maxChildPerOrder Integer 每单最大儿童数(不填则不限制)
coverImageUrl String 封面图URL
carouselImages List<String> 轮播图列表
carouselVideoUrl String 轮播视频URL
folderId String 所属文件夹ID
lineId String 产品线ID
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
sortOrder Integer 排序序号
teamExperienceYears Integer 团队经验年数
lineSubtitle String 产品线副标题
mchId String 商户号shanhe/wenlu
groupRoomId String 企微群聊ID(用于会话存档展示群消息)

响应 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> 权益说明(静态,所有产品相同)

关联字典

  • product_type产品类型,创建时必填CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品
  • product_status产品状态,返回字段DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单
  • product_category产品分类family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾

📦 其他数据对象变更

以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应

保险服务

✏️ PolicyShareVO

  • ✏️ pdfBase64: 说明 "merged PDF as base64" → "合并后的PDFBase64编码"
  • ✏️ personName: 说明 "insured person name" → "被保人姓名"
  • ✏️ policyCount: 说明 "number of policies included" → "包含的保单数量"
  • ✏️ failedCount: 说明 "number of policies that failed to download (skipped)" → "下载失败的保单数量(已跳过)"

✏️ SharePolicyRequest

  • ✏️ orderId: 说明 "travel order ID" → "旅游订单ID"
  • ✏️ insuredName: 说明 "insured person name" → "被保人姓名"
  • ✏️ insuredIdCardNo: 说明 "insured person ID card number" → "被保人证件号码"

资源服务

✏️ PriceCalendarDayVO

  • ✏️ status: 类型 IntegerString, 说明 "状态0=不可租 1=可租" → "日历状态(字典 calendar_statusAVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"

✏️ PriceCalendarSetRequest

  • ✏️ status: 类型 IntegerString, 说明 "状态0=不可租 1=可租" → "日历状态(字典 calendar_statusAVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"

✏️ PriceCalendarStatusRequest

  • ✏️ status: 类型 IntegerString, 说明 "状态0=不可租 1=可租" → "目标状态(字典 calendar_statusAVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
📁 全部变更文件 (点击展开)
M	hl-insurance-service/src/main/java/com/hulalv/insurance/config/Knife4jConfig.java
M	hl-insurance-service/src/main/java/com/hulalv/insurance/dto/SharePolicyRequest.java
M	hl-insurance-service/src/main/java/com/hulalv/insurance/service/BaoyouApiClient.java
M	hl-insurance-service/src/main/java/com/hulalv/insurance/service/InsuranceProductSyncService.java
M	hl-insurance-service/src/main/java/com/hulalv/insurance/vo/PolicyShareVO.java
M	hl-product-service/src/main/java/com/hulalv/product/config/Knife4jConfig.java
M	hl-product-service/src/main/java/com/hulalv/product/controller/ProductController.java
A	hl-product-service/src/main/java/com/hulalv/product/dto/ProductSaveRequest.java
M	hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java
M	hl-resource-service/src/main/java/com/hulalv/resource/activity/constant/ActivityConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/activity/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/activity/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/activity/entity/ActivityPriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/activity/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/constant/CostConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/entity/CostPriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/hotel/constant/HotelConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/hotel/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/hotel/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/hotel/entity/RoomPriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/hotel/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/constant/ScenicConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/entity/ScenicPriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/service/ScenicPriceCalendarService.java
M	hl-resource-service/src/main/java/com/hulalv/resource/scenic/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/service/constant/ServiceConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/service/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/service/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/service/entity/ServicePriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/service/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/staff/constant/StaffConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/staff/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/staff/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/staff/entity/StaffPriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/staff/vo/PriceCalendarDayVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/vehicle/constant/VehicleConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/vehicle/dto/PriceCalendarSetRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/vehicle/dto/PriceCalendarStatusRequest.java
M	hl-resource-service/src/main/java/com/hulalv/resource/vehicle/entity/VehiclePriceCalendar.java
M	hl-resource-service/src/main/java/com/hulalv/resource/vehicle/vo/PriceCalendarDayVO.java
A	scripts/api-changelog-sync.py
A	scripts/sync-api-docs.py