From 988922859479692e68ae055af65179a0e77249cd Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Fri, 5 Jun 2026 11:16:23 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=9C=8D=E5=8A=A1=E6=A0=87=E5=87=86=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=B8=85=E4=B8=8D=E6=8E=89=E6=97=A7=E5=80=BC=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20PR#3489(=E7=AE=A1=E7=90=86=E5=90=8E=E5=8F=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...绑定服务标准模板清不掉旧值修复-管理后台.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 changelogs-v2/2026-06/05_3489_取消绑定服务标准模板清不掉旧值修复-管理后台.md diff --git a/changelogs-v2/2026-06/05_3489_取消绑定服务标准模板清不掉旧值修复-管理后台.md b/changelogs-v2/2026-06/05_3489_取消绑定服务标准模板清不掉旧值修复-管理后台.md new file mode 100644 index 0000000..e7f48bb --- /dev/null +++ b/changelogs-v2/2026-06/05_3489_取消绑定服务标准模板清不掉旧值修复-管理后台.md @@ -0,0 +1,45 @@ +# 【后端修复·管理后台】取消绑定服务标准模板清不掉旧值(updateById 忽略 null) + +> **PR**: #3489 | **关联工单**: 无(PR #3484 deferred 项收口 / 工单 #3147 followup) +> **服务**: hl-product-service-v2(Step5 补充信息保存)| **更新时间**: 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