From d41f0d191aa44c3571e3706724c33c4b81eb554e Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 13 Jan 2025 14:18:31 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AEid?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=85=B6=E4=B8=8B=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EdFileInfoController.java | 5 +++++ .../manage/pojo/resp/ChildFolderVO.java | 9 ++++++++ .../manage/service/EdFileInfoService.java | 7 ++++++ .../serviceimpl/EdFileInfoServiceImpl.java | 22 +++++++++++++++---- 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ChildFolderVO.java diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java index 319d71a..68ca844 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java @@ -122,4 +122,9 @@ public class EdFileInfoController { public ElectromagneticResult detail(@RequestParam String id) { return edFileInfoService.detail(id); } + + @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) + public ElectromagneticResult queryChildFolder(@RequestParam String parentId) { + return edFileInfoService.queryChildFolder(parentId); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ChildFolderVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ChildFolderVO.java new file mode 100644 index 0000000..daa02f3 --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ChildFolderVO.java @@ -0,0 +1,9 @@ +package com.electromagnetic.industry.software.manage.pojo.resp; + +import lombok.Data; + +@Data +public class ChildFolderVO { + private String id; + private String fileName; +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java index ca44fbe..e92d942 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java @@ -157,4 +157,11 @@ public interface EdFileInfoService { * 获取文件的层级Id */ String getCategoryId (String id); + + /** + * 根据父id查询其下自定义的文件夹 + * @param parentId + * @return + */ + ElectromagneticResult queryChildFolder(String parentId); } 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 6730e8e..7859c06 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 @@ -27,10 +27,7 @@ import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO; import com.electromagnetic.industry.software.manage.pojo.req.*; -import com.electromagnetic.industry.software.manage.pojo.resp.FileInfoQueryPageVO; -import com.electromagnetic.industry.software.manage.pojo.resp.FileProjectVO; -import com.electromagnetic.industry.software.manage.pojo.resp.FileVersionViewVO; -import com.electromagnetic.industry.software.manage.pojo.resp.UploadRecordVO; +import com.electromagnetic.industry.software.manage.pojo.resp.*; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.PermissionService; @@ -1147,4 +1144,21 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryChildFolder(String parentId) { + + List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getId, EdFileInfo::getFileName) + .eq(EdFileInfo::getPrjDir, Boolean.FALSE) + .eq(EdFileInfo::getParentId, parentId) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); + List res = BeanUtil.copyToList(edFileInfos, ChildFolderVO.class); + return ElectromagneticResultUtil.success(res); + } + } From 0c8835f2fa4239a2b25ab131393b0b1c53ddcd48 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 13 Jan 2025 14:42:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F=E4=B8=BA0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/EdFileInfoServiceImpl.java | 2 +- .../manage/service/serviceimpl/EdFileRelationServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 7859c06..0f77687 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 @@ -735,7 +735,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl Date: Mon, 13 Jan 2025 17:03:51 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=B7=B2=E7=9F=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/EdFileInfoServiceImpl.java | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) 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 0f77687..855add5 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 @@ -363,16 +363,14 @@ public class EdFileInfoServiceImpl extends ServiceImpl deepCopyV = JSONUtil.toList(JSONUtil.toJsonStr(v), EdFileInfo.class); List deepCopyDb = JSONUtil.toList(JSONUtil.toJsonStr(dbFileInfos), EdFileInfo.class); - EdFileInfo importEffectFile = deepCopyV.stream().filter(e -> e.getEffectFlag().equals(EffectFlagEnum.EFFECT.code)).findFirst().get(); - EdFileInfo dbEffectFile = deepCopyDb.stream().filter(e -> e.getEffectFlag().equals(EffectFlagEnum.EFFECT.code)).findFirst().get(); + // 导入的文件在线下已经被废除了 + Optional first = deepCopyV.stream().filter(e -> e.getEffectFlag().equals(EffectFlagEnum.EFFECT.code)).findFirst(); + if (!first.isPresent()) { + continue; + } + EdFileInfo importEffectFile = first.get(); + Optional first1 = deepCopyDb.stream().filter(e -> e.getEffectFlag().equals(EffectFlagEnum.EFFECT.code)).findFirst(); + EdFileInfo dbEffectFile = null; + if (!first1.isPresent()) { + // 线下存在,线上不存在,被废除了,此时根据更新时间判断,如果线上的比线下的新,则以线上的为准 + EdFileInfo fileInfo = deepCopyDb.stream().max(Comparator.comparing(EdFileInfo::getUpdatedTime)).get(); + if (fileInfo.getUpdatedTime().after(importEffectFile.getUpdatedTime())) { + continue; + } + } else { + dbEffectFile = first1.get(); + } // 如果导入的时间比数据库的时间新,则将导入的置为effect - String effectId = importEffectFile.getUpdatedTime().after(dbEffectFile.getUpdatedTime()) ? importEffectFile.getId() : dbEffectFile.getId(); - + String effectId; + if (ObjUtil.isNull(dbEffectFile)) { + effectId = importEffectFile.getId(); + } else { + effectId = importEffectFile.getUpdatedTime().after(dbEffectFile.getUpdatedTime())? importEffectFile.getId() : dbEffectFile.getId(); + } Map importVersionRelation = getVersionRelation(deepCopyV); Map dbVersionRelation = getVersionRelation(deepCopyDb); @@ -661,7 +678,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryChildFolder(String parentId) { List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getId, EdFileInfo::getFileName) + .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getPrjDir, Boolean.FALSE) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); From 8c1688278061cf10a74842ef5de29255e3d295dd Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 13 Jan 2025 17:36:21 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/service/serviceimpl/CommonService.java | 4 +++- .../manage/service/serviceimpl/EdFileInfoServiceImpl.java | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index b5d792d..2ed10cc 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -232,7 +232,9 @@ public class CommonService { for (String id : ids) { List edFileInfos = selectAllAdminFolder(id, isAdminQuery, prjIds); if (!isAdminQuery) { - edFileInfos = edFileInfos.stream().filter(e -> e.getDataStatus().equals(EleDataStatusEnum.PUBLISHED.code)).collect(Collectors.toList()); + edFileInfos = edFileInfos.stream().filter(e -> e.getDataStatus().equals(EleDataStatusEnum.PUBLISHED.code) + || e.getDataStatus().equals(EleDataStatusEnum.DELETED.code)) + .collect(Collectors.toList()); } else { edFileInfos = edFileInfos.stream().filter(e -> !e.getDataStatus().equals(EleDataStatusEnum.DELETED.code)).collect(Collectors.toList()); } 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 855add5..bfca134 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 @@ -614,7 +614,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl map = permissionService.filterExportIds(ids); - log.info("map is -->" + map); Assert.isTrue(!map.containsValue(Boolean.FALSE), "有未授权的层级目录,禁止导出"); Map maps = new HashMap<>(); for (String id : ids) { From ea7732f1b5855ad3bdcba02f586fa97b106ae846 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 14 Jan 2025 09:08:51 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=88=9B=E5=BB=BA=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../industry/software/manage/pojo/other/FileInfoVO.java | 1 + .../manage/service/serviceimpl/EdFileInfoServiceImpl.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java index 8e9f74c..2540945 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java @@ -40,4 +40,5 @@ public class FileInfoVO { private String fileCode; + private String createdBy; } 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 bfca134..4869400 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 @@ -23,7 +23,9 @@ import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.*; import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper; +import com.electromagnetic.industry.software.manage.mapper.UserMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; +import com.electromagnetic.industry.software.manage.pojo.models.User; import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; import com.electromagnetic.industry.software.manage.pojo.other.UploadRecordDTO; import com.electromagnetic.industry.software.manage.pojo.req.*; @@ -66,6 +68,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl detail(String id) { EdFileInfo fileInfo = this.baseMapper.selectById(id); + User singleUser = userMapper.getSingleUser(fileInfo.getCreatedBy()); + fileInfo.setCreatedBy(singleUser.getUserName()); FileInfoVO fileInfoVO = BeanUtil.copyProperties(fileInfo, FileInfoVO.class); return ElectromagneticResultUtil.success(fileInfoVO); } From d23916ec6ac90b10dd7bc75df9927b461aa51fda Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 14 Jan 2025 10:25:24 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/controller/EdFileInfoController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java index 68ca844..526356a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java @@ -29,6 +29,7 @@ public class EdFileInfoController { return edFileInfoService.tree(); } + @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("createFolder") public ElectromagneticResult createFolder(@RequestBody CreateFolderDTO createFolderDTO) { return edFileInfoService.createFolder(createFolderDTO); @@ -86,16 +87,19 @@ public class EdFileInfoController { return edFileInfoService.versionView(fileId); } + @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("versionBack") public ElectromagneticResult versionBack(@RequestParam String fileId, @RequestParam int targetVersion) { return edFileInfoService.versionBack(fileId, targetVersion); } + @RequiredPermission(value = FilePermission.EXPORT) @RequestMapping("batchExport") public ResponseEntity batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException { return edFileInfoService.batchExport(fileIds, response); } + @RequiredPermission(value = FilePermission.IMPORT) @RequestMapping(value = "/mergeChunks", method = RequestMethod.GET) public ElectromagneticResult mergeChunks(@RequestParam String identifier, @RequestParam String fileName, @@ -103,11 +107,13 @@ public class EdFileInfoController { return edFileInfoService.mergeChunks(identifier, fileName, totalChunks); } + @RequiredPermission(value = FilePermission.IMPORT) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { return edFileInfoService.batchImport(fileChunkDTO); } + @RequiredPermission(value = FilePermission.IMPORT) @RequestMapping(value = "/batchImport", method = RequestMethod.GET) public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO) { return edFileInfoService.checkChunkExist(fileChunkDTO); From b9f90aa33ac26f3a8f050593a9071d214f7ad504 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Tue, 14 Jan 2025 10:30:33 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../software/manage/controller/EdFileInfoController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java index 526356a..f0b9141 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java @@ -24,6 +24,7 @@ public class EdFileInfoController { @Resource private EdFileInfoService edFileInfoService; + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("tree") public ElectromagneticResult tree() { return edFileInfoService.tree(); @@ -41,6 +42,7 @@ public class EdFileInfoController { return edFileInfoService.delete(id); } + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("info") public ElectromagneticResult info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO); @@ -82,6 +84,7 @@ public class EdFileInfoController { return edFileInfoService.copyFile(id, targetFolderId, strategy); } + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("versionView") public ElectromagneticResult versionView(@RequestParam String fileId) { return edFileInfoService.versionView(fileId); @@ -119,16 +122,19 @@ public class EdFileInfoController { return edFileInfoService.checkChunkExist(fileChunkDTO); } + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/uploadRecord", method = RequestMethod.GET) public ElectromagneticResult uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) { return edFileInfoService.uploadRecord(pageNum, pageSize); } + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/fileDetail", method = RequestMethod.GET) public ElectromagneticResult detail(@RequestParam String id) { return edFileInfoService.detail(id); } + @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) public ElectromagneticResult queryChildFolder(@RequestParam String parentId) { return edFileInfoService.queryChildFolder(parentId);