From 2aeac3fa5eca7077d8e9c4bf06c2c2d2cacd069a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Thu, 30 Jul 2026 17:03:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(cms):=20=E4=BF=AE=E5=A4=8D=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=9C=BA=E6=99=AF=E6=8E=A7=E5=88=B6=E5=99=A8=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1tenantId=E5=AF=BC=E8=87=B4=E5=AF=BC=E8=88=AA=E6=9C=AA?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 编辑场景控制器未注入tenantId时从数据库获取原记录tenantId - 避免bindNavigation因tenantId为空导致无法命中数据行 - 确保导航关联数据正确写回数据库 - 提升编辑场景更新的稳定性和数据一致性 --- .../gxwebsoft/cms/service/impl/CmsPageServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsPageServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsPageServiceImpl.java index 93afe30..f938e33 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsPageServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsPageServiceImpl.java @@ -117,7 +117,14 @@ public class CmsPageServiceImpl extends com.baomidou.mybatisplus.extension.servi } boolean updated = updateById(page); if (updated) { - bindNavigation(page.getPageId(), page.getNavigationId(), page.getTenantId()); + // 编辑场景控制器未注入 tenantId,需从库中取回原记录的 tenantId, + // 否则 bindNavigation 的 WHERE tenant_id = null 不会命中任何行,关联导航无法写回。 + Integer tenantId = page.getTenantId(); + if (tenantId == null) { + CmsPage existing = getById(page.getPageId()); + tenantId = existing != null ? existing.getTenantId() : null; + } + bindNavigation(page.getPageId(), page.getNavigationId(), tenantId); } return updated; }