From bef6ff944f758b82bcab3e92d570227dcd3e9dd4 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Fri, 27 Mar 2026 16:59:04 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=20=E4=BA=A7=E5=93=81=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E9=87=8D=E6=9E=84+=E5=AE=A1=E6=89=B9+=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E6=97=A5=E5=8E=86=E4=BF=AE=E5=A4=8D+=E5=9B=A2?= =?UTF-8?q?=E6=9C=9F=E4=BA=BA=E5=91=98=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../27_1700_product_status_refactor.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 changelogs/2026-03/27_1700_product_status_refactor.md diff --git a/changelogs/2026-03/27_1700_product_status_refactor.md b/changelogs/2026-03/27_1700_product_status_refactor.md new file mode 100644 index 0000000..e9e57e6 --- /dev/null +++ b/changelogs/2026-03/27_1700_product_status_refactor.md @@ -0,0 +1,62 @@ +# 2026-03-27 产品状态重构 + 上下架审批 + 价格日历修复 + +## 一、重大变更:产品状态和审核状态分离(PR #23) + +### 产品状态 `status`(简化为3种) + +| 值 | 说明 | +|---|------| +| DRAFT | 草稿 | +| PUBLISHED | 上架 | +| UNPUBLISHED | 下架 | + +**废弃的旧状态**:PENDING_REVIEW、REVIEWED、REJECTED 不再使用 + +### 新增字段 `approvalStatus`(审核状态) + +字典:`product_approval_status` + +| 值 | 说明 | +|---|------| +| NONE | 无审核 | +| PENDING | 审核中 | +| PUBLISH_APPROVED | 上架通过 | +| PUBLISH_REJECTED | 上架驳回 | +| UNPUBLISH_APPROVED | 下架通过 | +| UNPUBLISH_REJECTED | 下架驳回 | + +### 前端状态变更接口 + +`PUT /admin/product/{id}/status`,`targetStatus` 含义: +- `PUBLISHED` → 提交上架审批(企微OA) +- `UNPUBLISHED` → 提交下架审批(企微OA) +- `DRAFT` → 直接改为草稿 + +### 列表和详情都返回 `approvalStatus` + +前端根据 `status` + `approvalStatus` 两个字段显示状态。 + +--- + +## 二、价格日历修复汇总 + +| PR | 修复 | +|----|------| +| #14 | 价格为0不能设为可售 | +| #15 | 库存为0不能设为可售 | +| #16 | 自动计算为0时提示具体缺价格的资源 | +| #17 | GROUP产品无团期也能设价格日历 | +| #18 | resource_type大小写不匹配导致景区活动成本为0 | +| #19 | 餐厅不参与成本计算,跳过RESTAURANT节点 | +| #20 | GROUP无团期时自动计算能正确算出售价 | + +## 三、团期人员严格校验(PR #21) + +团期设置服务人员必须严格按产品配置: +- 类型必须匹配 +- 数量必须匹配 +- 人员必须在备选池内 + +## 部署说明 + +重启:**hl-product-service**