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

2.1 KiB

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

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

成功响应

{ "code": 200, "data": null }

失败响应(被产品引用时):

{ "code": 500, "message": "无法删除以下产品正在使用该保险方案精品九寨沟5日游、云南大理7日游" }

2. 合同方案删除

DELETE /admin/contract/scheme/{schemeId}

网关路径:/order/admin/contract/scheme/{schemeId}

请求:无 body,路径参数 schemeId 为方案ID

成功响应

{ "code": 200, "data": null }

失败响应(被产品引用时):

{ "code": 500, "message": "无法删除以下产品正在使用该合同方案精品九寨沟5日游" }

3. 禁用校验(已有接口行为变更)

以下两个已有的切换状态接口增加了校验逻辑:

  • PUT /admin/insurance/scheme/{id}/toggle-status
  • PUT /admin/contract/scheme/{schemeId}/toggle-status

变更:从启用→停用时,如果有活跃产品(已上架/已下单/已完成/待审核/已审核)引用该方案,将返回错误:

{ "code": 500, "message": "无法禁用以下产品正在使用该保险方案精品九寨沟5日游" }

启用→停用被阻止时,前端正常展示错误提示即可。


4. 前端交互建议

操作 建议
删除按钮位置 方案列表每行操作栏,与编辑/启停按钮并列
删除确认 点击删除前弹二次确认对话框("确定删除该方案?"
错误处理 删除/禁用失败时,展示后端返回的 message含引用的产品名
删除成功 刷新列表