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**