# 保险方案/合同方案 — 支持删除 + 引用校验

> **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（含引用的产品名） |
| 删除成功 | 刷新列表 |
