优化代码

This commit is contained in:
chenxudong 2025-05-26 15:12:12 +08:00
parent 46dc09ffe8
commit e1c73f2584
1 changed files with 6 additions and 5 deletions

View File

@ -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<String> roleIds = getRoles(userId);
if (roleIds == null || roleIds.isEmpty()) {
if (CollUtil.isEmpty(roleIds)) {
return new ArrayList<>();
}
LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.select(RolePermission::getFileId)
.in(RolePermission::getRoleId, roleIds)
.eq(RolePermission::getEffectFlag, EffectFlagEnum.EFFECT.code)
.eq(RolePermission::getPermissionCode, FilePermission.VIEW.getCode());
List<String> ids = rolePermissionService.listObjs(queryWrapper1).stream().map(Object::toString).toList();
if (CollUtil.isEmpty(ids)) {
return new ArrayList<>();
}
Set<String> result = new HashSet<>();
// 把父亲节点加上
List<EdFileInfo> edFileInfos = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).in(EdFileInfo::getId, ids));
List<EdFileInfo> 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);