|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
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.DataOwnEnum;
|
|
|
|
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
|
|
|
|
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
|
|
|
|
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
|
|
|
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
|
|
|
@ -83,25 +84,25 @@ public class PermissionServiceImpl implements PermissionService {
|
|
|
|
String userId = UserThreadLocal.getUserId();
|
|
|
|
String userId = UserThreadLocal.getUserId();
|
|
|
|
List<String> roleIds = getRoles(userId);
|
|
|
|
List<String> roleIds = getRoles(userId);
|
|
|
|
|
|
|
|
|
|
|
|
if (roleIds == null || roleIds.isEmpty()) {
|
|
|
|
if (CollUtil.isEmpty(roleIds)) {
|
|
|
|
return new ArrayList<>();
|
|
|
|
return new ArrayList<>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
LambdaQueryWrapper<RolePermission> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
queryWrapper1.select(RolePermission::getFileId)
|
|
|
|
queryWrapper1.select(RolePermission::getFileId)
|
|
|
|
.in(RolePermission::getRoleId, roleIds)
|
|
|
|
.in(RolePermission::getRoleId, roleIds)
|
|
|
|
.eq(RolePermission::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
|
|
|
.eq(RolePermission::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
|
|
|
.eq(RolePermission::getPermissionCode, FilePermission.VIEW.getCode());
|
|
|
|
.eq(RolePermission::getPermissionCode, FilePermission.VIEW.getCode());
|
|
|
|
List<String> ids = rolePermissionService.listObjs(queryWrapper1).stream().map(Object::toString).toList();
|
|
|
|
List<String> ids = rolePermissionService.listObjs(queryWrapper1).stream().map(Object::toString).toList();
|
|
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isEmpty(ids)) {
|
|
|
|
if (CollUtil.isEmpty(ids)) {
|
|
|
|
return new ArrayList<>();
|
|
|
|
return new ArrayList<>();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Set<String> result = new HashSet<>();
|
|
|
|
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) {
|
|
|
|
for (EdFileInfo file : edFileInfos) {
|
|
|
|
String[] parentIds = file.getFilePath().split("_");
|
|
|
|
String[] parentIds = file.getFilePath().split(ElectromagneticConstants.MYSQL_FILE_PATH_SPLIT);
|
|
|
|
result.addAll(Arrays.asList(parentIds));
|
|
|
|
result.addAll(Arrays.asList(parentIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return new ArrayList<>(result);
|
|
|
|
return new ArrayList<>(result);
|
|
|
|
|