From 098d3347a0df808908aab8c554cd7c4febc5e6d9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:43:59 +0800 Subject: [PATCH] !577 发布 5.2.2 正式版 安全性提升 Merge pull request !577 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java | 36 ++++++++++++++++++++++++++---------- 1 files changed, 26 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java index 9c5a212..018f9a0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java @@ -2,15 +2,16 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.dromara.system.domain.SysDept; -import org.dromara.common.mybatis.helper.DataBaseHelper; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.StreamUtils; +import org.dromara.common.mybatis.helper.DataBaseHelper; +import org.dromara.system.domain.SysDept; import org.dromara.system.domain.SysRoleDept; import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysRoleDeptMapper; import org.dromara.system.service.ISysDataScopeService; -import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; @@ -30,8 +31,17 @@ private final SysRoleDeptMapper roleDeptMapper; private final SysDeptMapper deptMapper; + /** + * 鑾峰彇瑙掕壊鑷畾涔夋潈闄� + * + * @param roleId 瑙掕壊Id + * @return 閮ㄩ棬Id缁� + */ @Override public String getRoleCustom(Long roleId) { + if (ObjectUtil.isNull(roleId)) { + return "-1"; + } List<SysRoleDept> list = roleDeptMapper.selectList( new LambdaQueryWrapper<SysRoleDept>() .select(SysRoleDept::getDeptId) @@ -39,23 +49,29 @@ if (CollUtil.isNotEmpty(list)) { return StreamUtils.join(list, rd -> Convert.toStr(rd.getDeptId())); } - return null; + return "-1"; } + /** + * 鑾峰彇閮ㄩ棬鍙婁互涓嬫潈闄� + * + * @param deptId 閮ㄩ棬Id + * @return 閮ㄩ棬Id缁� + */ @Override public String getDeptAndChild(Long deptId) { + if (ObjectUtil.isNull(deptId)) { + return "-1"; + } List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>() .select(SysDept::getDeptId) .apply(DataBaseHelper.findInSet(deptId, "ancestors"))); List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId); ids.add(deptId); - List<SysDept> list = deptMapper.selectList(new LambdaQueryWrapper<SysDept>() - .select(SysDept::getDeptId) - .in(SysDept::getDeptId, ids)); - if (CollUtil.isNotEmpty(list)) { - return StreamUtils.join(list, d -> Convert.toStr(d.getDeptId())); + if (CollUtil.isNotEmpty(ids)) { + return StreamUtils.join(ids, Convert::toStr); } - return null; + return "-1"; } } -- Gitblit v1.9.3