hl-api-changelog/changelogs/2026-03/31_scheme_delete_validation.md

76 行
2.1 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 保险方案/合同方案 — 支持删除 + 引用校验
> **PR** #92 · **日期** 2026-03-31 · **影响服务** hl-order-service, hl-product-service
## 前端需要做什么
保险方案和合同方案的管理页面需要**新增删除按钮**,后端接口已就绪。
---
## 1. 保险方案删除
### `DELETE` /admin/insurance/scheme/{id}
> 网关路径:`/order/admin/insurance/scheme/{id}`
**请求**:无 body,路径参数 `id` 为方案ID
**成功响应**
```json
{ "code": 200, "data": null }
```
**失败响应**(被产品引用时):
```json
{ "code": 500, "message": "无法删除以下产品正在使用该保险方案精品九寨沟5日游、云南大理7日游" }
```
---
## 2. 合同方案删除
### `DELETE` /admin/contract/scheme/{schemeId}
> 网关路径:`/order/admin/contract/scheme/{schemeId}`
**请求**:无 body,路径参数 `schemeId` 为方案ID
**成功响应**
```json
{ "code": 200, "data": null }
```
**失败响应**(被产品引用时):
```json
{ "code": 500, "message": "无法删除以下产品正在使用该合同方案精品九寨沟5日游" }
```
---
## 3. 禁用校验(已有接口行为变更)
以下两个已有的**切换状态**接口增加了校验逻辑:
- `PUT /admin/insurance/scheme/{id}/toggle-status`
- `PUT /admin/contract/scheme/{schemeId}/toggle-status`
**变更**:从启用→停用时,如果有活跃产品(已上架/已下单/已完成/待审核/已审核)引用该方案,将返回错误:
```json
{ "code": 500, "message": "无法禁用以下产品正在使用该保险方案精品九寨沟5日游" }
```
> 启用→停用被阻止时,前端正常展示错误提示即可。
---
## 4. 前端交互建议
| 操作 | 建议 |
|------|------|
| 删除按钮位置 | 方案列表每行操作栏,与编辑/启停按钮并列 |
| 删除确认 | 点击删除前弹二次确认对话框("确定删除该方案?" |
| 错误处理 | 删除/禁用失败时,展示后端返回的 message含引用的产品名 |
| 删除成功 | 刷新列表 |