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 e5555e0..c915d14 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 @@ -109,4 +109,9 @@ public class EdFileInfoController { public ElectromagneticResult uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) { return edFileInfoService.uploadRecord(pageNum, pageSize); } + + @RequestMapping(value = "/detail", method = RequestMethod.GET) + public ElectromagneticResult detail(@RequestParam String id) { + return edFileInfoService.detail(id); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java similarity index 96% rename from electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoDTO.java rename to electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java index d344440..8e9f74c 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoDTO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/FileInfoVO.java @@ -6,7 +6,7 @@ import lombok.Data; import java.util.Date; @Data -public class FileInfoDTO { +public class FileInfoVO { private String id; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/UploadRecordDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/UploadRecordDTO.java index 85ef7f7..93513e6 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/UploadRecordDTO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/UploadRecordDTO.java @@ -10,6 +10,7 @@ public class UploadRecordDTO { private String id; private String fileName; private Integer saveStatus; + private String fileType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createdTime; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileInfoQueryPageVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileInfoQueryPageVO.java index 1db19a0..47fe205 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileInfoQueryPageVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileInfoQueryPageVO.java @@ -1,6 +1,6 @@ package com.electromagnetic.industry.software.manage.pojo.resp; -import com.electromagnetic.industry.software.manage.pojo.other.FileInfoDTO; +import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -15,5 +15,5 @@ public class FileInfoQueryPageVO { private long total; - private List records = new ArrayList<>(); + private List records = new ArrayList<>(); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileVersionViewVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileVersionViewVO.java index dd48a27..86c53d0 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileVersionViewVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/FileVersionViewVO.java @@ -10,4 +10,5 @@ public class FileVersionViewVO { private Integer preVersion; private String fileCode; private Integer effectFlag; + private String parentId; } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java index eac9a69..eae56d4 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java @@ -1,10 +1,12 @@ package com.electromagnetic.industry.software.manage.pojo.resp; import lombok.Data; +import lombok.experimental.FieldNameConstants; import java.util.ArrayList; import java.util.List; +@FieldNameConstants @Data public class ProjectVO { @@ -13,6 +15,7 @@ public class ProjectVO { private String parentId; private int sort; private Integer dataStatus; + private String title; private List children = new ArrayList<>(); } 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 37645ae..819bec8 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 @@ -143,4 +143,11 @@ public interface EdFileInfoService { * @return */ ElectromagneticResult uploadRecord(int pageNum, int pageSize); + + /** + * 查询文件详情 + * @param id + * @return + */ + ElectromagneticResult detail(String id); } 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 622898b..8ca82d5 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 @@ -228,6 +228,8 @@ public class CommonService { List edFileInfos = selectAllAdminFolder(id); if (!isAdminQuery) { edFileInfos = edFileInfos.stream().filter(e -> e.getDataStatus().equals(EleDataStatusEnum.PUBLISHED.code)).collect(Collectors.toList()); + } else { + edFileInfos = edFileInfos.stream().filter(e -> !e.getDataStatus().equals(EleDataStatusEnum.DELETED.code)).collect(Collectors.toList()); } // 转换为树 if (isAdminQuery) { @@ -236,11 +238,12 @@ public class CommonService { config.setParentIdKey(EdFileInfo.Fields.parentId); config.setWeightKey(EdFileInfo.Fields.sort); List> trees = TreeUtil.build(edFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> { - treeNode.putExtra("id", obj.getId()); - treeNode.putExtra(EdFileInfo.Fields.parentId, obj.getParentId()); - treeNode.putExtra(EdFileInfo.Fields.sort, obj.getSort()); - treeNode.putExtra(EdFileInfo.Fields.fileName, obj.getFileName()); - treeNode.putExtra(EdFileInfo.Fields.dataStatus, obj.getDataStatus()); + treeNode.putExtra(ProjectVO.Fields.id, obj.getId()); + treeNode.putExtra(ProjectVO.Fields.parentId, obj.getParentId()); + treeNode.putExtra(ProjectVO.Fields.sort, obj.getSort()); + treeNode.putExtra(ProjectVO.Fields.fileName, obj.getFileName()); + treeNode.putExtra(ProjectVO.Fields.title, obj.getFileName()); + treeNode.putExtra(ProjectVO.Fields.dataStatus, obj.getDataStatus()); })); String jsonStr = JSONUtil.toJsonStr(trees); ProjectVO projectVO = JSONUtil.toList(jsonStr, ProjectVO.class).get(0); 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 c487f47..ad95bce 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 @@ -24,15 +24,15 @@ 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.pojo.models.EdFileInfo; -import com.electromagnetic.industry.software.manage.pojo.other.FileInfoDTO; +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.FileVersionViewVO; -import com.electromagnetic.industry.software.manage.pojo.resp.ProjectVO; import com.electromagnetic.industry.software.manage.pojo.resp.UploadRecordVO; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; import com.electromagnetic.industry.software.manage.service.FileSystemService; +import com.electromagnetic.industry.software.manage.service.PermissionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; @@ -63,10 +63,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl edFileInfoPage = this.baseMapper.selectPage(new Page<>(fileInfoQueryDTO.getPageNum(), fileInfoQueryDTO.getPageSize()), queryWrapper); long total = edFileInfoPage.getTotal(); - List records = BeanUtil.copyToList(edFileInfoPage.getRecords(), FileInfoDTO.class); + List records = BeanUtil.copyToList(edFileInfoPage.getRecords(), FileInfoVO.class); resetFileSize(records); return ElectromagneticResultUtil.success(new FileInfoQueryPageVO(total, records)); } - private void resetFileSize(List records) { - for (FileInfoDTO fileInfoDTO : records) { + private void resetFileSize(List records) { + for (FileInfoVO fileInfoDTO : records) { if (fileInfoDTO.getFileSize() < 1024) { fileInfoDTO.setFileSizeShow(fileInfoDTO.getFileSize() + "B"); } else if (fileInfoDTO.getFileSize() < 1024 * 1024) { @@ -196,7 +198,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl download(String id, HttpServletResponse response) { try { - EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery().eq(EdFileInfo::getId, id)); + EdFileInfo fileInfo = this.baseMapper.selectById(id); String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath()); Assert.isTrue(FileUtil.exist(fileSysPath), "下载文件不存在。"); FileSystemResource fileSystemResource = new FileSystemResource(fileSysPath); @@ -687,7 +689,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl versionView(String fileId) { List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) - .select(EdFileInfo::getId, EdFileInfo::getFileId, EdFileInfo::getFileVersion, EdFileInfo::getPreVersion, EdFileInfo::getFileCode, EdFileInfo::getEffectFlag, EdFileInfo::getFileName) + .select(EdFileInfo::getParentId, EdFileInfo::getId, EdFileInfo::getFileId, EdFileInfo::getFileVersion, EdFileInfo::getPreVersion, EdFileInfo::getFileCode, EdFileInfo::getEffectFlag, EdFileInfo::getFileName) .eq(EdFileInfo::getFileId, fileId)); List fileVersionViewVOS = BeanUtil.copyToList(edFileInfos, FileVersionViewVO.class); return ElectromagneticResultUtil.success(fileVersionViewVOS); @@ -848,9 +850,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl uploadRecord(int pageNum, int pageSize) { - List prjIds = ListUtil.list(false, "100001", "100002"); //TODO 从权限处获取该用户有哪些工程的权限,这里先写静态,方便调试 + List prjIds = permissionService.getAccessibleTree(); //TODO 从权限处获取该用户有哪些工程的权限,这里先写静态,方便调试 LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class) - .select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime) + .select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .likeRight(EdFileInfo::getFilePath, prjIds.get(0)); @@ -863,6 +865,19 @@ public class EdFileInfoServiceImpl extends ServiceImpl detail(String id) { + EdFileInfo fileInfo = this.baseMapper.selectById(id); + FileInfoVO fileInfoVO = BeanUtil.copyProperties(fileInfo, FileInfoVO.class); + return ElectromagneticResultUtil.success(fileInfoVO); + } + private ElectromagneticResult handCopyConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo) { // 禁止同目录下移动和复制 if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) { diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java index 8b044c8..164baef 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EffectFlagEnum.java @@ -15,7 +15,7 @@ public enum EffectFlagEnum { */ EFFECT(1, "有效"), /** - * 无效 + * 无效PermisionService */ NOT_EFFECTIVE(0, "无效");