From d9ffa2438d6227e73685fc005dab02506b1c3e7d Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 24 Mar 2025 14:08:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=9E=E6=94=B6=E7=AB=99?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/controller/UserController.java | 2 +- .../service/serviceimpl/EdFileInfoServiceImpl.java | 6 +++--- .../serviceimpl/FileRecycleServiceImpl.java | 14 ++++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java index 7c51d01..b43c5cf 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java @@ -101,7 +101,7 @@ public class UserController { } } -// @RequiredRole(AdminTypeEnum.SYSTEM) + // @RequiredRole(AdminTypeEnum.SYSTEM) @PutMapping("/changePassword") @UserOperation(value = "修改用户密码", modelName = UserOperationModuleEnum.USER) public ElectromagneticResult changePassword(@RequestBody ChangePasswordRequest request) { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 29b9d34..34768a2 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -1448,8 +1448,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EdFileInfo::getParentId, parentId) - .eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code) - .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); + .eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); fileIds = this.baseMapper.selectList(queryWrapper).stream().map(EdFileInfo::getFileId).collect(Collectors.toList()); } else { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -1463,7 +1463,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl { e.setFileSizeShow(EleCommonUtil.convertFileSize(e.getFileSize())); e.setIsFavorite(isFavorite(UserThreadLocal.getUserId(), e.getId()) ? 1 : 0); - e.setIsPersonal( (String.valueOf(DataOwnEnum.USER_FILE.code).equals(e.getDataOwn()) && Objects.equals(e.getCreatedBy(), UserThreadLocal.getUserId())) ? 1 : 0); + e.setIsPersonal((String.valueOf(DataOwnEnum.USER_FILE.code).equals(e.getDataOwn()) && Objects.equals(e.getCreatedBy(), UserThreadLocal.getUserId())) ? 1 : 0); // 设置权限 Map permissions = (e.getIsPersonal() == 1) ? permissionService.getPersonalPermission() diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java index ef3c082..1a6cfd3 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java @@ -86,6 +86,7 @@ public class FileRecycleServiceImpl implements FileRecycleService { .orderByAsc(ObjUtil.equals(pars.getFileTypeSort(), 0), EdFileInfo::getSort) .orderByDesc(ObjUtil.equals(pars.getFileTypeSort(), 1), EdFileInfo::getSort); + if (StrUtil.isNotEmpty(pars.getKeyword())) { queryWrapper.and(qr -> qr.like(EdFileInfo::getFileName, pars.getKeyword()) .or() @@ -95,17 +96,18 @@ public class FileRecycleServiceImpl implements FileRecycleService { .or() .like(EdFileInfo::getFileContent, pars.getKeyword())); } - // TODO 要考虑数据是个人数据还是库数据,如果是管理员,则展示全部数据,其他用户则展示有权限的系统数据+用户个人数据+库数据 + if (!UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue())) { + List ids = edFileInfoMapper.selectList(Wrappers.lambdaQuery().select(EdFileInfo::getId).eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_FILE.code)) + .stream() + .map(EdFileInfo::getId) + .collect(Collectors.toList()); List accessibleTree = permissionService.getAccessibleTree(); - queryWrapper.and(qr -> qr.eq(EdFileInfo::getCreatedBy, UserThreadLocal.getUserId()).eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_FILE.code)); + accessibleTree.addAll(ids); if (CollUtil.isNotEmpty(accessibleTree)) { - for (String permission : accessibleTree) { - queryWrapper.or().likeRight(EdFileInfo::getFileCode, permission); - } + queryWrapper.and(qr -> accessibleTree.forEach(e -> qr.or().likeRight(EdFileInfo::getFilePath, e))); } } - Page edFileInfoPage = this.edFileInfoMapper.selectPage(new Page<>(pars.getPageNum(), pars.getPageSize()), queryWrapper); long total = edFileInfoPage.getTotal(); List records = BeanUtil.copyToList(edFileInfoPage.getRecords(), FileRecycleQueryVO.class);