# 接口变更记录 — 2026-03-19 12:42 > **提交** `055da2c` · **作者** wx · **时间** 2026-03-19 12:42:36 +0800 > > feat: 定制需求接口文档完善 — Map 替换为强类型 DTO/VO ## 变更总览 - **小程序聚合服务** - MpCustomize (改6) --- ## 小程序聚合服务 ### MpCustomize > 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 定制需求接口」** ### ✏️ `POST` /mp/custom/submit — 提交定制需求 - 返回类型: `Result>` → `Result` - 🆕 新增请求体 `MpCustomizeSubmitRequest` **请求体变更** `MpCustomizeSubmitRequest`: - 🆕 `designerId` (`Long`) — 指定定制师ID(可为空=系统分配) - 🆕 `destination` (`String`) — 目标地区 - 🆕 `travelPurpose` (`String`) — 旅游目的(字典:travel_purpose) - 🆕 `requestType` (`String`) — 需求类型(字典:customize_request_type) - 🆕 `startDate` (`LocalDate`) — 期望出发日期 - 🆕 `endDate` (`LocalDate`) — 期望结束日期 - 🆕 `days` (`Integer`) — 期望天数 - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `budget` (`String`) — 预算范围(字典:customize_budget) - 🆕 `requirements` (`String`) — 详细需求描述 - 🆕 `contactPhone` (`String`) — 联系电话 - 🆕 `contactName` (`String`) — 联系人 - 🆕 新增响应类型 `MpCustomizeRequestVO` **响应变更** `MpCustomizeRequestVO`: - 🆕 `requestId` (`Long`) — 请求ID - 🆕 `userId` (`Long`) — 用户ID - 🆕 `designerId` (`Long`) — 指定定制师ID - 🆕 `destination` (`String`) — 目标地区 - 🆕 `travelPurpose` (`String`) — 旅游目的(字典:travel_purpose) - 🆕 `requestType` (`String`) — 需求类型(字典:customize_request_type) - 🆕 `startDate` (`LocalDate`) — 期望出发日期 - 🆕 `endDate` (`LocalDate`) — 期望结束日期 - 🆕 `days` (`Integer`) — 期望天数 - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `budget` (`String`) — 预算范围(字典:customize_budget) - 🆕 `requirements` (`String`) — 详细需求描述 - 🆕 `contactPhone` (`String`) — 联系电话 - 🆕 `contactName` (`String`) — 联系人 - 🆕 `status` (`String`) — 状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消 - 🆕 `statusLabel` (`String`) — 状态标签(中文) - 🆕 `designerName` (`String`) — 定制师姓名 - 🆕 `designerAvatar` (`String`) — 定制师头像URL - 🆕 `productId` (`Long`) — 关联产品ID(定制完成后返回) - 🆕 `reply` (`String`) — 定制师回复内容 - 🆕 `repliedAt` (`LocalDateTime`) — 回复时间 - 🆕 `createTime` (`LocalDateTime`) — 创建时间 - 🆕 `updateTime` (`LocalDateTime`) — 更新时间 ### ✏️ `GET` /mp/custom/list — 定制需求列表 - 返回类型: `Result>>` → `Result>` - 🆕 新增响应类型 `MpCustomizeRequestListVO` **响应变更** `MpCustomizeRequestListVO`: - 🆕 `requestId` (`Long`) — 请求ID - 🆕 `userId` (`Long`) — 用户ID - 🆕 `destination` (`String`) — 目标地区 - 🆕 `travelPurpose` (`String`) — 旅游目的(字典:travel_purpose) - 🆕 `requestType` (`String`) — 需求类型(字典:customize_request_type) - 🆕 `startDate` (`LocalDate`) — 期望出发日期 - 🆕 `days` (`Integer`) — 期望天数 - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `budget` (`String`) — 预算范围(字典:customize_budget) - 🆕 `status` (`String`) — 状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消 - 🆕 `statusLabel` (`String`) — 状态标签(中文) - 🆕 `designerName` (`String`) — 定制师姓名 - 🆕 `designerAvatar` (`String`) — 定制师头像URL - 🆕 `createTime` (`LocalDateTime`) — 创建时间 ### ✏️ `GET` /mp/custom/detail — 定制需求详情 - 返回类型: `Result>` → `Result` - 🆕 新增响应类型 `MpCustomizeRequestVO` **响应变更** `MpCustomizeRequestVO`: - 🆕 `requestId` (`Long`) — 请求ID - 🆕 `userId` (`Long`) — 用户ID - 🆕 `designerId` (`Long`) — 指定定制师ID - 🆕 `destination` (`String`) — 目标地区 - 🆕 `travelPurpose` (`String`) — 旅游目的(字典:travel_purpose) - 🆕 `requestType` (`String`) — 需求类型(字典:customize_request_type) - 🆕 `startDate` (`LocalDate`) — 期望出发日期 - 🆕 `endDate` (`LocalDate`) — 期望结束日期 - 🆕 `days` (`Integer`) — 期望天数 - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `budget` (`String`) — 预算范围(字典:customize_budget) - 🆕 `requirements` (`String`) — 详细需求描述 - 🆕 `contactPhone` (`String`) — 联系电话 - 🆕 `contactName` (`String`) — 联系人 - 🆕 `status` (`String`) — 状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消 - 🆕 `statusLabel` (`String`) — 状态标签(中文) - 🆕 `designerName` (`String`) — 定制师姓名 - 🆕 `designerAvatar` (`String`) — 定制师头像URL - 🆕 `productId` (`Long`) — 关联产品ID(定制完成后返回) - 🆕 `reply` (`String`) — 定制师回复内容 - 🆕 `repliedAt` (`LocalDateTime`) — 回复时间 - 🆕 `createTime` (`LocalDateTime`) — 创建时间 - 🆕 `updateTime` (`LocalDateTime`) — 更新时间 ### ✏️ `POST` /mp/custom/{requestId}/cancel — 取消定制需求 - 返回类型: `Result>` → `Result` - 🆕 新增响应类型 `MpCustomizeRequestVO` **响应变更** `MpCustomizeRequestVO`: - 🆕 `requestId` (`Long`) — 请求ID - 🆕 `userId` (`Long`) — 用户ID - 🆕 `designerId` (`Long`) — 指定定制师ID - 🆕 `destination` (`String`) — 目标地区 - 🆕 `travelPurpose` (`String`) — 旅游目的(字典:travel_purpose) - 🆕 `requestType` (`String`) — 需求类型(字典:customize_request_type) - 🆕 `startDate` (`LocalDate`) — 期望出发日期 - 🆕 `endDate` (`LocalDate`) — 期望结束日期 - 🆕 `days` (`Integer`) — 期望天数 - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `budget` (`String`) — 预算范围(字典:customize_budget) - 🆕 `requirements` (`String`) — 详细需求描述 - 🆕 `contactPhone` (`String`) — 联系电话 - 🆕 `contactName` (`String`) — 联系人 - 🆕 `status` (`String`) — 状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消 - 🆕 `statusLabel` (`String`) — 状态标签(中文) - 🆕 `designerName` (`String`) — 定制师姓名 - 🆕 `designerAvatar` (`String`) — 定制师头像URL - 🆕 `productId` (`Long`) — 关联产品ID(定制完成后返回) - 🆕 `reply` (`String`) — 定制师回复内容 - 🆕 `repliedAt` (`LocalDateTime`) — 回复时间 - 🆕 `createTime` (`LocalDateTime`) — 创建时间 - 🆕 `updateTime` (`LocalDateTime`) — 更新时间 ### ✏️ `GET` /mp/custom/product/{productId} — 查询已完成的定制产品详情 - 返回类型: `Result>` → `Result` - 🆕 新增响应类型 `MpCustomProductDetailVO` **响应变更** `MpCustomProductDetailVO`: - 🆕 `productId` (`String`) — 产品ID - 🆕 `productType` (`String`) — 产品类型:CUSTOM=定制产品 - 🆕 `name` (`String`) — 产品名称 - 🆕 `subtitle` (`String`) — 副标题 - 🆕 `tripDays` (`Integer`) — 行程天数 - 🆕 `tripNights` (`Integer`) — 行程晚数 - 🆕 `departureCity` (`String`) — 出发城市 - 🆕 `destinationCity` (`String`) — 目的地城市 - 🆕 `destinationCities` (`List`) — 途经城市列表 - 🆕 `adultCount` (`Integer`) — 成人人数 - 🆕 `childCount` (`Integer`) — 儿童人数 - 🆕 `youngChildCount` (`Integer`) — 小童人数 - 🆕 `babyCount` (`Integer`) — 婴儿人数 - 🆕 `paymentMode` (`String`) — 支付模式:FULL=全款 DEPOSIT=定金+尾款 - 🆕 `status` (`String`) — 产品状态:COMPLETED=已完成, ORDERED=已下单 - 🆕 `coverImageUrl` (`String`) — 封面图URL - 🆕 `carouselImages` (`List`) — 轮播图列表 - 🆕 `routeMapUrl` (`String`) — 路径图URL - 🆕 `creatorAvatarUrl` (`String`) — 定制师头像URL - 🆕 `creatorIntro` (`String`) — 创作者寄语 - 🆕 `startPrice` (`BigDecimal`) — 起步价 - 🆕 `tags` (`List`) — 产品标签列表 - 🆕 `itineraryDays` (`List`) — 行程天列表(包含每天的景点、酒店、餐厅、活动等安排) - 🆕 `pricing` (`Object`) — 定价配置 - 🆕 `staffConfigs` (`List`) — 人员配置列表(定制产品专属:导游、领队、摄影师等) - 🆕 `families` (`List`) — 家庭分组列表(定制产品专属:按家庭分配人员和房间) - 🆕 `costItems` (`List`) — 成本项列表 - 🆕 `customFees` (`List`) — 自定义费用项列表 - 🆕 `createTime` (`LocalDateTime`) — 创建时间 - 🆕 `id` (`String`) — 记录ID - 🆕 `staffType` (`String`) — 人员类型:GUIDE=导游, GUIDE_ASSISTANT=助理导游, PHOTOGRAPHER=摄影师, LEADER=领队, OTHER=其他 - 🆕 `staffTypeName` (`String`) — 人员类型名称(中文) - 🆕 `quantity` (`Integer`) — 数量 - 🆕 `sortOrder` (`Integer`) — 排序序号 - 🆕 `familyIds` (`List`) — 所属家庭ID列表 - 🆕 `familyId` (`String`) — 家庭ID - 🆕 `familyName` (`String`) — 家庭名称(如:家庭1) - 🆕 `adultCount` (`Integer`) — 成人数 - 🆕 `childCount` (`Integer`) — 儿童数 - 🆕 `youngChildCount` (`Integer`) — 小童数 - 🆕 `babyCount` (`Integer`) — 幼童数 - 🆕 `sortOrder` (`Integer`) — 排序序号 ### ✏️ `GET` /mp/custom/products — 我的已完成定制产品列表 - 返回类型: `Result>>` → `Result>` - 🆕 新增响应类型 `MpCustomProductListVO` **响应变更** `MpCustomProductListVO`: - 🆕 `productId` (`String`) — 产品ID - 🆕 `productType` (`String`) — 产品类型:CUSTOM=定制产品 - 🆕 `name` (`String`) — 产品名称 - 🆕 `subtitle` (`String`) — 副标题 - 🆕 `tripDays` (`Integer`) — 行程天数 - 🆕 `tripNights` (`Integer`) — 行程晚数 - 🆕 `departureCity` (`String`) — 出发城市 - 🆕 `destinationCity` (`String`) — 目的地城市 - 🆕 `tags` (`List`) — 产品标签列表 - 🆕 `coverImageUrl` (`String`) — 封面图URL - 🆕 `startPrice` (`BigDecimal`) — 起步价 - 🆕 `paymentMode` (`String`) — 支付模式:FULL=全款 DEPOSIT=定金+尾款 - 🆕 `routeMapUrl` (`String`) — 路径图URL - 🆕 `creatorAvatarUrl` (`String`) — 定制师头像URL ---
📁 全部变更文件 (点击展开) ``` M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpCustomizeController.java A hl-mp-service/src/main/java/com/hulalv/mp/dto/MpCustomizeSubmitRequest.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignClient.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignFallbackFactory.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignClient.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignFallbackFactory.java A hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomProductDetailVO.java A hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomProductListVO.java A hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomizeRequestListVO.java A hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomizeRequestVO.java ```