From 79b3575043d49c52d73dd5b1956cdee20583a65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sat, 18 Jul 2026 20:49:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(cms):=20=E5=A4=84=E7=90=86=E6=A0=8F?= =?UTF-8?q?=E7=9B=AE=E6=A8=A1=E5=9E=8B=E4=B8=BAnull=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5=E5=B9=B6=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97=E8=AD=A6?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CmsArticleServiceImpl中新增@Slf4j注解支持日志输出 - 保存文章时,增加cmsNavigation.getModelInfo()为null的判断,避免空指针异常 - 模型信息不存在时,记录警告日志提醒栏目未关联模型 - 修正CmsNavigationServiceImpl中获取模型信息时的null处理 - 只有模型信息不为空且banner为空时才赋值栏目banner和mpBanner - 增强代码健壮性,避免空模型导致相关操作失败或异常 --- .../service/impl/CmsArticleServiceImpl.java | 12 +++++++++++- .../service/impl/CmsNavigationServiceImpl.java | 18 ++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java index 46b128b..db36f0a 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java @@ -18,6 +18,7 @@ import com.gxwebsoft.common.core.utils.RedisUtil; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.system.service.UserService; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -37,6 +38,7 @@ import static com.gxwebsoft.common.core.constants.ArticleConstants.CACHE_KEY_ART * @author 科技小王子 * @since 2024-09-10 20:47:57 */ +@Slf4j @Service public class CmsArticleServiceImpl extends ServiceImpl implements CmsArticleService { @Resource @@ -145,7 +147,10 @@ public class CmsArticleServiceImpl extends ServiceImpl().eq(CmsDesign::getCategoryId, navigation.getNavigationId()).last("limit 1"))); // 所属模型 if (StrUtil.isNotBlank(navigation.getModel())) { - navigation.setModelInfo(cmsModelService.getOne(new LambdaQueryWrapper().eq(CmsModel::getModel, navigation.getModel()).last("limit 1"))); - if (StrUtil.isBlank(navigation.getBanner())) { - navigation.setBanner(navigation.getModelInfo().getBanner()); - navigation.setMpBanner(navigation.getModelInfo().getThumb()); + final CmsModel modelInfo = cmsModelService.getOne(new LambdaQueryWrapper().eq(CmsModel::getModel, navigation.getModel()).last("limit 1")); + navigation.setModelInfo(modelInfo); + if (modelInfo != null && StrUtil.isBlank(navigation.getBanner())) { + navigation.setBanner(modelInfo.getBanner()); + navigation.setMpBanner(modelInfo.getThumb()); } } return navigation; @@ -178,10 +179,11 @@ public class CmsNavigationServiceImpl extends ServiceImpl().eq(CmsDesign::getCategoryId, navigation.getNavigationId()).last("limit 1"))); // 所属模型 if (StrUtil.isNotBlank(navigation.getModel())) { - navigation.setModelInfo(cmsModelService.getOne(new LambdaQueryWrapper().eq(CmsModel::getModel, navigation.getModel()).last("limit 1"))); - if (StrUtil.isBlank(navigation.getBanner())) { - navigation.setBanner(navigation.getModelInfo().getBanner()); - navigation.setMpBanner(navigation.getModelInfo().getThumb()); + final CmsModel modelInfo = cmsModelService.getOne(new LambdaQueryWrapper().eq(CmsModel::getModel, navigation.getModel()).last("limit 1")); + navigation.setModelInfo(modelInfo); + if (modelInfo != null && StrUtil.isBlank(navigation.getBanner())) { + navigation.setBanner(modelInfo.getBanner()); + navigation.setMpBanner(modelInfo.getThumb()); } } return navigation;