From 3eea2b04a8cd6cc923cc8138878f3c34ae238fbc Mon Sep 17 00:00:00 2001 From: gaoxiong Date: Mon, 19 May 2025 23:31:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0=E5=9B=BE?= =?UTF-8?q?=E5=83=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=9B=BE=E5=83=8F=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/config/WebMvcConfig.java | 7 +++---- .../java/com/dite/znpt/domain/vo/ProjectReq.java | 2 +- .../java/com/dite/znpt/domain/vo/TurbineReq.java | 2 +- .../java/com/dite/znpt/domain/vo/UserReq.java | 2 +- .../java/com/dite/znpt/enums/ImageSourceEnum.java | 2 +- .../service/impl/ImageCollectServiceImpl.java | 15 +++++++++++---- .../dite/znpt/service/impl/ImageServiceImpl.java | 12 +++++++----- web/src/main/resources/application-dev.yml | 6 ++++-- 8 files changed, 29 insertions(+), 19 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/config/WebMvcConfig.java b/core/src/main/java/com/dite/znpt/config/WebMvcConfig.java index f93ae4d..33c100e 100644 --- a/core/src/main/java/com/dite/znpt/config/WebMvcConfig.java +++ b/core/src/main/java/com/dite/znpt/config/WebMvcConfig.java @@ -20,14 +20,13 @@ public class WebMvcConfig extends WebMvcConfigurationSupport { */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { - - registry.addResourceHandler("/image/temp/**").addResourceLocations("file:" + uploadTempPath); - registry.addResourceHandler("/image/**").addResourceLocations("file:" + uploadPermPath); - registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); + registry.addResourceHandler("/static/image/**").addResourceLocations("file:" + uploadPermPath); + registry.addResourceHandler("/static/image/temp/**").addResourceLocations("file:" + uploadTempPath); + registry.addResourceHandler("/upload/**").addResourceLocations("file:D:\\Upload\\Image\\Temp\\"); super.addResourceHandlers(registry); } } \ No newline at end of file diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectReq.java index 401ab2b..161c6c5 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ProjectReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ProjectReq.java @@ -27,7 +27,7 @@ public class ProjectReq implements Serializable { @ApiModelProperty("项目名称") private String projectName; - @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 100, message = "项目封面述长度不能超过100字符") + @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 200, message = "项目封面述长度不能超过200字符") @ApiModelProperty("项目封面") private String coverUrl; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TurbineReq.java b/core/src/main/java/com/dite/znpt/domain/vo/TurbineReq.java index 9f3bd7b..dece98a 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/TurbineReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/TurbineReq.java @@ -49,7 +49,7 @@ public class TurbineReq implements Serializable { @ApiModelProperty("机组型号") private String turbineModel; - @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 100, message = "机组封面图长度不能超过100字符") + @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 200, message = "机组封面图长度不能超过200字符") @ApiModelProperty("机组封面图") private String turbineCoverUrl; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java b/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java index a8ac046..1ca16c3 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java @@ -27,7 +27,7 @@ public class UserReq implements Serializable { @ApiModelProperty("账号") private String account; - @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 100, message = "头像地址长度不能超过100字符") + @Size(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, max = 200, message = "头像地址长度不能超过200字符") @ApiModelProperty("头像地址") private String avatar; diff --git a/core/src/main/java/com/dite/znpt/enums/ImageSourceEnum.java b/core/src/main/java/com/dite/znpt/enums/ImageSourceEnum.java index 7d75f4b..8919e04 100644 --- a/core/src/main/java/com/dite/znpt/enums/ImageSourceEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/ImageSourceEnum.java @@ -15,7 +15,7 @@ import java.util.List; public enum ImageSourceEnum { COLLECT("collect", "图像采集", Boolean.TRUE), OUT_WORK("out-work", "外部工作", Boolean.TRUE), - IN_WORK("in-work", "外部工作", Boolean.TRUE), + IN_WORK("in-work", "内部工作", Boolean.TRUE), LIGHTNING_PROTECTING_WORK("lightning-protection-work", "防雷工作", Boolean.FALSE); private final String code; 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 1c0fe42..8c66217 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 @@ -21,6 +21,8 @@ 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; /** @@ -33,6 +35,8 @@ public class ImageCollectServiceImpl extends ServiceImpl imageList = Converts.INSTANCE.toImageEntity(req.getImageList()); - String path_prefix = permPath.concat(FileUtil.FILE_SEPARATOR).concat(ImageSourceEnum.COLLECT.getCode()).concat(FileUtil.FILE_SEPARATOR).concat(partId).concat(FileUtil.FILE_SEPARATOR); + String permPathPrefix = permPath.concat(ImageSourceEnum.COLLECT.getCode()).concat(FileUtil.FILE_SEPARATOR).concat(partId).concat(FileUtil.FILE_SEPARATOR).concat(dateStr).concat(FileUtil.FILE_SEPARATOR); + String temPathPrefix = tempPath.concat(ImageSourceEnum.COLLECT.getCode()).concat(FileUtil.FILE_SEPARATOR).concat(partId).concat(FileUtil.FILE_SEPARATOR); imageList.stream().forEach(image -> { image.setPartId(partId); image.setCollectId(imageCollect.getCollectId()); - String path = path_prefix + image.getImageName(); - File file = new File(image.getImagePath()); + String path = permPathPrefix + image.getImageName(); + File file = new File(temPathPrefix.concat(image.getImageName())); if (file.exists()) { byte[] bytes = FileUtil.readBytes(file); FileUtil.writeBytes(bytes, path); - image.setImagePath(path); + String url = "/static/image/".concat(StrUtil.removePrefix(path,permPath).replace(FileUtil.FILE_SEPARATOR, StrUtil.SLASH)); + image.setImagePath(url); FileUtil.del(file); }else { imageList.remove(image); 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 bf6ca6f..d86bd10 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 @@ -131,11 +131,11 @@ public class ImageServiceImpl extends ServiceImpl impl // 创建完整的目录 temCategory.mkdirs(); } - String path_prefix = tempPath.concat(StrUtil.BACKSLASH).concat(imageSource).concat(StrUtil.BACKSLASH).concat(partId).concat(StrUtil.BACKSLASH); + String temPathPrefix = tempPath.concat(imageSource).concat(FileUtil.FILE_SEPARATOR).concat(partId).concat(FileUtil.FILE_SEPARATOR); for (MultipartFile file : files) { if (!file.isEmpty()) { try { - String path = path_prefix + file.getOriginalFilename(); + String path = temPathPrefix + file.getOriginalFilename(); FileUtil.writeBytes(file.getBytes(),path); list.add(imageRespBuilder(path)); } catch (Exception e) { @@ -152,7 +152,7 @@ public class ImageServiceImpl extends ServiceImpl impl throw new ServiceException(Message.IMAGE_IS_EMPTY); } String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); - String path_prefix = permPath.concat(FileUtil.FILE_SEPARATOR).concat(dateStr).concat(FileUtil.FILE_SEPARATOR).concat(imageSource).concat(FileUtil.FILE_SEPARATOR); + String path_prefix = permPath.concat(imageSource).concat(FileUtil.FILE_SEPARATOR).concat(dateStr).concat(FileUtil.FILE_SEPARATOR); if (Objects.nonNull(imageWorkReq)) { if (StrUtil.isNotBlank(imageWorkReq.getUploadUser())) { path_prefix = path_prefix.concat(imageWorkReq.getUploadUser()).concat(FileUtil.FILE_SEPARATOR); @@ -169,7 +169,8 @@ public class ImageServiceImpl extends ServiceImpl impl } String path = path_prefix + file.getOriginalFilename(); FileUtil.writeBytes(file.getBytes(),path); - return path; + String url = FileUtil.FILE_SEPARATOR.concat("static").concat(FileUtil.FILE_SEPARATOR).concat("image").concat(StrUtil.SLASH).concat(StrUtil.removePrefix(path, permPath)); + return StrUtil.replace(url, FileUtil.FILE_SEPARATOR, StrUtil.SLASH); } @Transactional(rollbackFor = Exception.class) @@ -197,7 +198,8 @@ public class ImageServiceImpl extends ServiceImpl impl req.setCameraManufacturer(obj.getStr("Make")); req.setCameraModel(obj.getStr("Model")); req.setImageName(obj.getStr("File Name")); - req.setImagePath(StrUtil.removePrefix(path, tempPath)); + String url = FileUtil.FILE_SEPARATOR.concat("static").concat(FileUtil.FILE_SEPARATOR).concat("image").concat(FileUtil.FILE_SEPARATOR).concat("temp").concat(StrUtil.SLASH).concat(StrUtil.removePrefix(path, tempPath)); + req.setImagePath(StrUtil.replace(url, FileUtil.FILE_SEPARATOR, StrUtil.SLASH)); BigDecimal imageSize = new BigDecimal(extractDigit(obj.getStr("File Size"))).divide(new BigDecimal(1024*1024), 4, RoundingMode.HALF_UP); req.setImageSize(imageSize.toString().concat("M")); req.setImageWidth(extractDigit(obj.getStr("Image Width"))); diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index e4b6f62..b3c81a9 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -117,6 +117,8 @@ zlm-config: dynamicPortEnd: 30185 upload: - temp-path: F:\Upload\Image\Temp - perm-path: F:\Upload\Image + temp-path: + image: D:\Upload\Image\Temp\ + perm-path: + image: D:\Upload\Image\