From 068601550c058a5471f367e46bf92381877eada8 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 13 Apr 2026 09:49:25 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=20d90dfe18=20-=20refactor(product-v2?= =?UTF-8?q?):=20=E5=90=88=E5=B9=B6=E5=88=9B=E5=BB=BA=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E5=92=8CStep1=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E4=B8=BA?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...04-13_0949_d90dfe18_refactor_product-v2.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 changelogs/2026-04/2026-04-13_0949_d90dfe18_refactor_product-v2.md diff --git a/changelogs/2026-04/2026-04-13_0949_d90dfe18_refactor_product-v2.md b/changelogs/2026-04/2026-04-13_0949_d90dfe18_refactor_product-v2.md new file mode 100644 index 0000000..212fb31 --- /dev/null +++ b/changelogs/2026-04/2026-04-13_0949_d90dfe18_refactor_product-v2.md @@ -0,0 +1,91 @@ +# 接口变更记录 — 2026-04-13 09:49 + +> **提交** `d90dfe18` · **作者** wx · **时间** 2026-04-13 09:49:25 +0800 +> +> refactor(product-v2): 合并创建产品和Step1基础信息为一个接口 + +## 变更总览 + +- **hl-product-service-v2** + - AdminProduct (+1, -2) + +--- + +## hl-product-service-v2 + +### AdminProduct + +### 🆕 `POST` /admin/product/item/basic — Step1 基础信息保存 + +> 创建+更新合一接口。 + +**请求体** `ProductBasicSaveReqVO` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `productId` | `Long` | 产品ID(不传=创建新产品,传了=更新已有产品) | +| `version` | `Integer` | 乐观锁版本号(更新时必传,创建时不传) | +| `productType` | `String` | 产品类型(创建时必传,更新时忽略。字典product_type: CORE=核心产品, GROUP=小蒙马跟团游, CUSTOM=私人定制) | +| `name` | `String` | 产品名称(≤30字) | +| `subtitle` | `String` | 副标题(一句话卖点,≤128字) | +| `introduction` | `String` | 产品简介(富文本HTML) | +| `lineId` | `Long` | 产品线ID(从产品线下拉接口获取,私人定制可空) | +| `tripDays` | `Integer` | 行程天数(≥1,晚数自动=天数-1) | +| `tripNights` | `Integer` | 行程晚数(通常=天数-1,不传自动计算) | +| `tiers` | `List` | 档位列表(JSON数组,如标准/舒适/豪华3档) | +| `seasons` | `List` | 适用季节(字典product_season: spring=春, summer=夏, autumn=秋, winter=冬) | +| `tags` | `List` | 产品标签(字典product_tag,多选) | +| `coverImageUrl` | `String` | 封面图URL | +| `carouselImages` | `List` | 轮播图URL列表(≤10张) | +| `infantAgeMax` | `Integer` | 幼童年龄上限(默认1岁,幼童≤此值免费或特价) | +| `toddlerAgeMax` | `Integer` | 小童年龄上限(默认3岁,幼童<小童<儿童) | +| `childAgeMin` | `Integer` | 儿童年龄下限(默认4岁) | +| `childAgeMax` | `Integer` | 儿童年龄上限(默认12岁,超过按成人算) | +| `infantDefaultPrice` | `BigDecimal` | 幼童默认价(元,0=免费) | +| `isBooking` | `Boolean` | 是否预约产品(true=订金可不填出行人,false=正常下单) | +| `paymentType` | `String` | 支付方式(字典payment_type: FULL=全款支付, DEPOSIT=订金+尾款) | +| `depositRatio` | `Integer` | 订金比例(%,支付方式=DEPOSIT时使用,与固定额二选一) | +| `depositAmount` | `BigDecimal` | 订金固定额(元,支付方式=DEPOSIT时使用,与比例二选一) | +| `balanceDueDays` | `Integer` | 尾款支付期限(天,出发前N天需付清尾款) | +| `defaultDailyStock` | `Integer` | 每日库存默认值(NULL=不限量,用于价格日历预填) | +| `defaultRoomCount` | `Integer` | 默认房间数(小蒙马跟团游用,每个班期的初始房间数) | +| `minGroupSize` | `Integer` | 最低成团人数(0=不限,小蒙马用) | +| `minAdultPerOrder` | `Integer` | 每单最少成人数 | +| `maxAdultPerOrder` | `Integer` | 每单最多成人数 | +| `maxChildPerOrder` | `Integer` | 每单最多儿童数 | +| `showReview` | `Boolean` | 展示用户评价(true=产品详情页显示评价模块) | +| `showChatGroup` | `Boolean` | 展示群聊入口(true=显示加入群聊按钮) | +| `showTripTime` | `Boolean` | 展示行程时间(true=行程天显示起止时间) | +| `showTripDistance` | `Boolean` | 展示行程距离(true=行程天显示里程数) | +| `creatorAvatarUrl` | `String` | 创建者头像URL(产品详情页展示的领队/设计师头像) | +| `creatorIntro` | `String` | 创建者简介(≤512字) | +| `customizerId` | `Long` | 定制师ID(私人定制产品关联的定制师) | +| `customerName` | `String` | 客户姓名(私人定制的客户) | +| `contactPhone` | `String` | 联系电话(加密存储) | +| `departureDate` | `LocalDate` | 出发日期(私人定制的固定出发日期,格式yyyy-MM-dd) | +| `mchId` | `String` | 商户ID(微信支付商户号,多商户时指定) | +| `safetyItems` | `List` | 安全保障项(JSON数组 [{icon,title,description}]) | +| `photographyItems` | `List` | 摄影跟拍项(JSON数组 [{name,description}]) | +| `diningHighlights` | `List` | 餐饮亮点(JSON数组 [{name,description}]) | +| `tierSeq` | `Integer` | 档位序号(1=标准,2=舒适,3=豪华) | +| `tierName` | `String` | 档位名称 | + +**响应** `Result` + +### ❌ ~~`POST` /admin/product/item — 创建产品~~ + +### ❌ ~~`PUT` /admin/product/item/{id}/basic — Step1 基础信息保存~~ + +--- + +
+📁 全部变更文件 (点击展开) + +``` +M hl-product-service-v2/src/main/java/com/hulalv/product/controller/admin/AdminProductController.java +M hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/ProductBasicService.java +M hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/ProductBasicSaveReqVO.java +M hl-product-service-v2/src/test/java/com/hulalv/product/controller/admin/AdminProductControllerTest.java +M hl-product-service-v2/src/test/java/com/hulalv/product/service/admin/ProductBasicServiceTest.java +``` +
\ No newline at end of file