From ba88757a41e2db445b6031fc3a6c449981879a22 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 15 Apr 2026 12:28:50 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=20=E4=BA=A7=E5=93=81=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=8F=98=E6=9B=B4=E6=8E=A5=E5=8F=A3=E6=8B=86=E5=88=86?= =?UTF-8?q?(toggle-publish+complete)=20+=20=E4=BA=BA=E7=BE=A4=E4=BC=98?= =?UTF-8?q?=E6=83=A0bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-04/0415-product-action-split.md | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 changelogs/2026-04/0415-product-action-split.md diff --git a/changelogs/2026-04/0415-product-action-split.md b/changelogs/2026-04/0415-product-action-split.md new file mode 100644 index 0000000..ef68490 --- /dev/null +++ b/changelogs/2026-04/0415-product-action-split.md @@ -0,0 +1,101 @@ +# 产品状态变更接口拆分 + +**日期**: 2026-04-15 +**服务**: hl-product-service-v2 +**影响**: 管理端产品管理 + +--- + +## 变更概要 + +原 `POST /admin/product/item/{id}/action` 接口拆分为2个独立接口,**前端不再需要传动作码**,后端自动判断。旧接口保留但已废弃。 + +--- + +## 新增接口 + +### 1. 上架/下架切换 + +``` +POST /admin/product/item/{id}/toggle-publish +``` + +**请求体**(可选): +```json +{ + "remark": "备注原因(可选)" +} +``` + +**后端自动逻辑**: +| 当前状态 | 普通用户 | 超管(SUPER_ADMIN) | +|----------|----------|-------------------| +| 草稿/已驳回/已下架 | 提交上架审批→待审核 | 直接上架→已上架 | +| 已上架 | 申请下架审批→待审核 | 强制下架→已下架 | +| 待审核 | 撤回→草稿 | 撤回→草稿 | + +**审批流程**: 普通用户上架/下架会自动提交企微OA审批,审批通过后自动变更状态,无需前端处理。 + +**响应**: +```json +{ + "code": 200, + "message": "操作成功", + "data": null +} +``` + +### 2. 完成设计(仅定制产品) + +``` +POST /admin/product/item/{id}/complete +``` + +**请求体**(可选): +```json +{ + "remark": "备注(可选)" +} +``` + +**限制**: 仅 `productType=CUSTOM` 的草稿产品可调用,其他类型返回500。 + +**响应**: +```json +{ + "code": 200, + "message": "完成设计成功", + "data": null +} +``` + +--- + +## 废弃接口 + +### ~~POST /admin/product/item/{id}/action~~ + +**状态**: @Deprecated,暂时保留兼容,后续版本移除。 + +请尽快迁移到上述2个新接口。 + +--- + +## 人群优惠bug修复 + +`GET /admin/product/item/{id}` 返回的 `crowdBenefit` 对象之前只有 `tips` 字段,现在完整返回所有字段: + +```json +{ + "crowdBenefit": { + "childTicket": "HALF_PRICE", + "childAccommodation": "NO_BED", + "childMeal": "HALF", + "elderTicket": "FREE", + "elderAccommodation": "SAME_AS_ADULT", + "tips": "3岁以下免费" + } +} +``` + +**前端无需改动**,之前缺失的字段现在正常返回。