feat: 保险方案/合同方案删除接口+引用校验 (PR #92)

这个提交包含在:
API Changelog Bot 2026-03-31 17:34:34 +08:00
父节点 dd5af31320
当前提交 94f8d53724

查看文件

@ -0,0 +1,75 @@
# 保险方案/合同方案 — 支持删除 + 引用校验
> **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含引用的产品名 |
| 删除成功 | 刷新列表 |