From 7caa10f7a02c6fbbc24dd4a16c624f2426acda52 Mon Sep 17 00:00:00 2001 From: zch Date: Wed, 2 Jul 2025 10:47:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E4=BF=AE=E5=A4=8D=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=20ID=20=E6=9F=A5=E8=AF=A2=E9=83=A8=E9=97=A8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=97=B6=E7=9A=84=E6=BD=9C=E5=9C=A8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=88=E5=B7=A5=E4=BD=9C=E6=B5=81=E8=B0=83=E7=94=A8=E6=97=B6?= =?UTF-8?q?=E5=80=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 selectDeptById 方法中添加了对 deptId 参数的空值检查,避免不必要的缓存查询 - 在 selectDeptNameByIds 方法中增加了对 id 的非空判断,提高了代码的健壮性 - 优化了缓存注解的使用,添加了 condition 属性以减少不必要的缓存操作 --- .../system/service/impl/SysDeptServiceImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index bbda484..72ff40b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -161,9 +161,12 @@ public class SysDeptServiceImpl implements ISysDeptService { * @param deptId 部门ID * @return 部门信息 */ - @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId") + @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId", condition = "#deptId != null") @Override public SysDeptVo selectDeptById(Long deptId) { + if (ObjectUtil.isNull(deptId)) { + return null; + } SysDeptVo dept = baseMapper.selectVoById(deptId); if (ObjectUtil.isNull(dept)) { return null; @@ -198,9 +201,11 @@ public class SysDeptServiceImpl implements ISysDeptService { public String selectDeptNameByIds(String deptIds) { List list = new ArrayList<>(); for (Long id : StringUtils.splitTo(deptIds, Convert::toLong)) { - SysDeptVo vo = SpringUtils.getAopProxy(this).selectDeptById(id); - if (ObjectUtil.isNotNull(vo)) { - list.add(vo.getDeptName()); + if (ObjectUtil.isNotNull(id)) { + SysDeptVo vo = SpringUtils.getAopProxy(this).selectDeptById(id); + if (ObjectUtil.isNotNull(vo)) { + list.add(vo.getDeptName()); + } } } return String.join(StringUtils.SEPARATOR, list);