hl-api-changelog/changelogs-v2/2026-06/05_3489_取消绑定服务标准模板清不掉旧值修复-管理后台.md

2.1 KiB

【后端修复·管理后台】取消绑定服务标准模板清不掉旧值updateById 忽略 null

PR: #3489 | 关联工单: 无PR #3484 deferred 项收口 / 工单 #3147 followup 服务: hl-product-service-v2Step5 补充信息保存)| 更新时间: 2026-06-05

存放目录: changelogs-v2/2026-06/ 影响范围: 管理后台「产品编辑 → 补充信息(Step5) → 服务标准」tab 的「取消绑定」 前端动作: 无需改代码,「取消绑定」现在能真正生效,可重新测试


⚠️ 关键说明

接 PR #3484修复绑定回显的遗留项。现象服务标准模板下拉清空(取消绑定)后保存,旧绑定清不掉,刷新仍显示原模板。

接口路径/结构未变,纯后端行为修复。

1. 根因

PUT /admin/product/item/{id}/supplement 用 MyBatis-Plus updateById 持久化 serviceStandardTemplateId,默认 FieldStrategy.NOT_NULL忽略 null 字段——取消绑定时该列被跳过,旧值残留。

2. 修复

仅在 serviceStandardTemplateId == null(取消绑定)时追加一次定向清列(绑定/改绑路径零改动):

  • ProductMapper.clearServiceStandardTemplateId(productId)LambdaUpdateWrapper.set(column, null) 显式置空(与既有 clearApprovalFields 同款)

3. 前端动作

  • 无需改代码:下拉本就 clearable,清空后保存即触发后端清列。
  • 请重新测试:服务标准 tab → 清空模板下拉 → 保存 → 刷新,应显示「未绑定模板」。

4. 验证(测试服已实测)

操作 结果
取消绑定templateId=null后查详情 supplement.serviceStandardTemplateId = null
重新绑定后查详情 恢复为原模板ID
其余 Step5 字段(费用/人群优惠/保险等) 完全不受影响

5. 关联 / 联系人

  • 本次 PR#3489已合并 dev-v3,已部署测试服并 API 实测取消绑定生效)
  • 前序 PR#3484绑定回显修复
  • 后端负责人@wx | 前端对接(管理后台)mmg