diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java index 335440f..cb72a73 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants; import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum; @@ -83,25 +84,25 @@ public class PermissionServiceImpl implements PermissionService { String userId = UserThreadLocal.getUserId(); List roleIds = getRoles(userId); - if (roleIds == null || roleIds.isEmpty()) { + if (CollUtil.isEmpty(roleIds)) { return new ArrayList<>(); } - LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); queryWrapper1.select(RolePermission::getFileId) .in(RolePermission::getRoleId, roleIds) .eq(RolePermission::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(RolePermission::getPermissionCode, FilePermission.VIEW.getCode()); List ids = rolePermissionService.listObjs(queryWrapper1).stream().map(Object::toString).toList(); - if (CollUtil.isEmpty(ids)) { return new ArrayList<>(); } Set result = new HashSet<>(); // 把父亲节点加上 - List edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).in(EdFileInfo::getId, ids)); + List edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) + .select(EdFileInfo::getFilePath) + .in(EdFileInfo::getId, ids)); for (EdFileInfo file : edFileInfos) { - String[] parentIds = file.getFilePath().split("_"); + String[] parentIds = file.getFilePath().split(ElectromagneticConstants.MYSQL_FILE_PATH_SPLIT); result.addAll(Arrays.asList(parentIds)); } return new ArrayList<>(result);