From 0f971f46894d27c38c65326b214b10d6d79f448c Mon Sep 17 00:00:00 2001 From: cuizhibin Date: Sun, 27 Jul 2025 16:21:30 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=9B=BE=E7=89=87=E9=9B=86=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86=E3=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=202.=E6=88=91=E7=9A=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=203.=E9=A1=B9=E7=9B=AE=E4=BF=A1=E6=81=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2sql=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/config/Schedule.java | 2 +- .../com/dite/znpt/enums/FilePathEnum.java | 19 ++++++++++++ .../znpt/service/impl/DefectServiceImpl.java | 2 +- .../service/impl/ImageCollectServiceImpl.java | 27 ++++++++--------- .../znpt/service/impl/ImageServiceImpl.java | 2 +- .../main/resources/mapper/ProjectMapper.xml | 29 ++++++++++--------- .../web/controller/ProjectTaskController.java | 4 +-- 7 files changed, 52 insertions(+), 33 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/config/Schedule.java b/core/src/main/java/com/dite/znpt/config/Schedule.java index 8d5d41d..6e38623 100644 --- a/core/src/main/java/com/dite/znpt/config/Schedule.java +++ b/core/src/main/java/com/dite/znpt/config/Schedule.java @@ -47,7 +47,7 @@ public class Schedule { List successList = new ArrayList<>(); for (ImageEntity image : list) { PartResp partResp = partRespMap.get(image.getPartId()); - FilePathEnum pathEnum = image.getImagePath().contains("temp") ? FilePathEnum.IMAGE_TEMP : FilePathEnum.IMAGE; + FilePathEnum pathEnum = FilePathEnum.getFilePathEnum(image.getImagePath()); String inputFile = pathEnum.getFileAbsolutePath(image.getImagePath()); String outputDir = FilePathEnum.IMAGE.getFileAbsolutePathPrefix() .concat("已调整") diff --git a/core/src/main/java/com/dite/znpt/enums/FilePathEnum.java b/core/src/main/java/com/dite/znpt/enums/FilePathEnum.java index 3c522a7..46760f8 100644 --- a/core/src/main/java/com/dite/znpt/enums/FilePathEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/FilePathEnum.java @@ -55,4 +55,23 @@ public enum FilePathEnum { return StrUtil.replace(urlPath.concat(relativePath), FileUtil.FILE_SEPARATOR, StrUtil.SLASH); } + /** + * 功能描述:根据文件路径前缀获取文件路径ENUM + * + * @param fileDownPath 文件路径 + * @return {@link FilePathEnum } + * @author cuizhibin + * @date 2025/07/27 16:00 + **/ + public static FilePathEnum getFilePathEnum(String fileDownPath) { + if (StrUtil.startWith(fileDownPath, FilePathEnum.IMAGE_TEMP.getUrlPath())) { + return FilePathEnum.IMAGE_TEMP; + } + for (FilePathEnum pathEnum : FilePathEnum.values()) { + if (StrUtil.startWith(fileDownPath, FilePathEnum.IMAGE_TEMP.getUrlPath())) { + return pathEnum; + } + } + return FilePathEnum.ATTACH; + } } diff --git a/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java index f20ee9f..33b0407 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java @@ -198,7 +198,7 @@ public class DefectServiceImpl extends ServiceImpl i } image.setImageType(ImageTypeEnum.DEFECT.getCode()); imageService.updateById(image); - FilePathEnum pathEnum = image.getImagePath().contains("temp") ? FilePathEnum.IMAGE_TEMP : FilePathEnum.IMAGE; + FilePathEnum pathEnum = FilePathEnum.getFilePathEnum(image.getImagePath()); String inputPath = pathEnum.getFileAbsolutePath(image.getImagePath()); // 写入attach同层级文件夹下 String attachPath = FilePathEnum.ATTACH.getUrlPath() + StrUtil.removePrefix(image.getImagePath(), pathEnum.getUrlPath()); diff --git a/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java index 1aac248..0c6496f 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java @@ -8,8 +8,8 @@ import com.dite.znpt.converts.Converts; import com.dite.znpt.domain.entity.ImageCollectEntity; import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.vo.ImageCollectReq; +import com.dite.znpt.domain.vo.ImageReq; import com.dite.znpt.enums.FilePathEnum; -import com.dite.znpt.enums.ImageSourceEnum; import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.ImageCollectMapper; import com.dite.znpt.service.ImageCollectService; @@ -20,9 +20,10 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @Author: gaoxiong @@ -49,21 +50,21 @@ public class ImageCollectServiceImpl extends ServiceImpl imageList = Converts.INSTANCE.toImageEntity(req.getImageList()); - String permPathPrefix = FilePathEnum.IMAGE.getFileAbsolutePathPrefix().concat(ImageSourceEnum.COLLECT.getCode()).concat(FileUtil.FILE_SEPARATOR).concat(partId).concat(FileUtil.FILE_SEPARATOR).concat(dateStr).concat(FileUtil.FILE_SEPARATOR); + Map imageMap = req.getImageList().stream().collect(Collectors.toMap(ImageReq::getImageId, Function.identity(), (a,b) -> b)); + List imageList = imageService.listByIds(imageMap.keySet()); imageList.forEach(image -> { image.setPartId(partId); image.setCollectId(imageCollect.getCollectId()); image.setImageType(req.getImageType()); image.setImageTypeLabel(req.getImageTypeLabel()); - String path = permPathPrefix + image.getImageName(); - String fileAbsolutePath = FilePathEnum.IMAGE_TEMP.getFileAbsolutePath(image.getImagePath()); - File file = FileUtil.file(fileAbsolutePath); - if (file.exists()) { - FileUtil.copy(file, FileUtil.file(path), true); - image.setImagePath(FilePathEnum.IMAGE.getFileDownPath(path)); - FileUtil.del(file); + if (FilePathEnum.getFilePathEnum(image.getImagePath()).equals(FilePathEnum.IMAGE_TEMP)) { + String newImagePath = image.getImagePath().replace(FilePathEnum.IMAGE_TEMP.getUrlPath(), FilePathEnum.IMAGE.getUrlPath()); + String oldFileAbsolutePath = FilePathEnum.IMAGE_TEMP.getFileAbsolutePath(image.getImagePath()); + File oldFile = FileUtil.file(oldFileAbsolutePath); + if (oldFile.exists()) { + FileUtil.move(oldFile, FileUtil.file(newImagePath), true); + image.setImagePath(newImagePath); + } } }); imageService.saveOrUpdateBatch(imageList); diff --git a/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java index 347f678..a9fd844 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java @@ -296,7 +296,7 @@ public class ImageServiceImpl extends ServiceImpl impl if(CollUtil.isEmpty(imageList)){ imageCollectService.removeById(image.getCollectId()); } - FilePathEnum pathEnum = image.getImagePath().contains("temp") ? FilePathEnum.IMAGE_TEMP : FilePathEnum.IMAGE; + FilePathEnum pathEnum = FilePathEnum.getFilePathEnum(image.getImagePath()); FileUtil.del(pathEnum.getFileAbsolutePath(image.getImagePath())); FileUtil.del(FilePathEnum.IMAGE.getFileAbsolutePath(image.getPreImagePath())); } diff --git a/core/src/main/resources/mapper/ProjectMapper.xml b/core/src/main/resources/mapper/ProjectMapper.xml index 25aabf1..a603780 100644 --- a/core/src/main/resources/mapper/ProjectMapper.xml +++ b/core/src/main/resources/mapper/ProjectMapper.xml @@ -2,23 +2,27 @@ diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java index b2cd6b3..dd59781 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java @@ -5,7 +5,6 @@ import cn.dev33.satoken.stp.StpUtil; import com.dite.znpt.constant.Constants; import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.Result; -import com.dite.znpt.domain.entity.ProjectTaskEntity; import com.dite.znpt.domain.vo.*; import com.dite.znpt.service.ProjectTaskService; import com.dite.znpt.util.PageUtil; @@ -102,8 +101,7 @@ public class ProjectTaskController { @ApiOperation(value = "查询我的任务", httpMethod = "GET") @GetMapping("/my") - public Result> my() { - ProjectTaskListReq req = new ProjectTaskListReq(); + public Result> my(ProjectTaskListReq req) { req.setUserId(StpUtil.getLoginIdAsString()); return Result.ok(projectTaskService.selectList(req)); }