From 0c8abe74025ea886d03445310264ac5eafdcf181 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sun, 22 Mar 2026 18:23:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81=E4=BF=9D=E9=99=A9/=E5=90=88?= =?UTF-8?q?=E5=90=8C=E6=96=B9=E6=A1=88=E9=AA=8C=E8=AF=81=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=9A=E8=8D=89=E7=A8=BF=E5=8F=AF=E9=80=89=EF=BC=8C=E4=B8=8A?= =?UTF-8?q?=E6=9E=B6/=E5=AE=8C=E6=88=90=E5=89=8D=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../2026-03-22_product_scheme_validation.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 changelogs/2026-03/2026-03-22_product_scheme_validation.md diff --git a/changelogs/2026-03/2026-03-22_product_scheme_validation.md b/changelogs/2026-03/2026-03-22_product_scheme_validation.md new file mode 100644 index 0000000..766718e --- /dev/null +++ b/changelogs/2026-03/2026-03-22_product_scheme_validation.md @@ -0,0 +1,40 @@ +# 产品保险/合同方案验证调整 + +**日期**: 2026-03-22 +**服务**: hl-product-service +**类型**: fix + enhancement + +--- + +## 功能说明 + +调整产品保险方案和合同方案的验证时机: + +1. **创建产品(草稿)时**:`insuranceSchemeId` 和 `contractSchemeId` 改为**可选**,不再强制必填 +2. **核心产品/小蒙马上架前**:校验必须已配置保险方案和合同方案,否则上架失败 +3. **定制产品完成前**(DRAFT → COMPLETED):校验必须已配置保险方案和合同方案,否则完成失败 + +## 影响接口 + +### POST /admin/product (创建产品) + +**变更**:`insuranceSchemeId` 和 `contractSchemeId` 从必填改为可选 + +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| insuranceSchemeId | Long | 否(原为是) | 保险方案ID,上架/完成前必须配置 | +| contractSchemeId | Long | 否(原为是) | 合同方案ID,上架/完成前必须配置 | + +### PUT /admin/product/{productId}/status (状态变更) + +**变更**:新增上架/完成前的方案校验 + +- **核心产品/小蒙马** 变更为 `PUBLISHED` 时,校验 `insuranceSchemeId` 和 `contractSchemeId` 非空 +- **定制产品** 变更为 `COMPLETED` 时,校验 `insuranceSchemeId` 和 `contractSchemeId` 非空 +- 校验失败返回错误信息,如:`上架校验不通过: 保险方案不能为空; 合同方案不能为空` + +## 前端注意事项 + +- 产品编辑页保存草稿时,保险方案和合同方案可以留空 +- 点击「上架」或定制产品点击「完成」时,后端会校验这两个字段 +- 建议前端在上架/完成按钮点击前做前置校验提示,提升用户体验