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; }