diff --git a/smart-admin-api-java17-springboot3/pom.xml b/smart-admin-api-java17-springboot3/pom.xml index 1d4f850f..71b1eb05 100644 --- a/smart-admin-api-java17-springboot3/pom.xml +++ b/smart-admin-api-java17-springboot3/pom.xml @@ -38,7 +38,7 @@ 1.13.1 1.2.0 5.4.1 - 2.31.78 + 2.42.6 9.3.0 5.8.39 2.4.1 diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java new file mode 100644 index 00000000..1b9c31a8 --- /dev/null +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java @@ -0,0 +1,31 @@ +package net.lab1024.sa.base.common.json.deserializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; + +/** + * 字典值为 int类型的 反序列化 + * + * @Author 1024创新实验室: 卓大 + * @Date 2026-04-05 22:17:53 + * @Wechat zhuoda1024 + * @Email lab1024@163.com + * @Copyright 1024创新实验室 + */ +@Slf4j +public class DictDataIntDeserializer extends JsonDeserializer { + + @Override + public Integer deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode listOrObjectNode = objectCodec.readTree(jsonParser); + return Integer.parseInt(listOrObjectNode.asText()); + } + +} diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageCloudServiceImpl.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageCloudServiceImpl.java index 4015b8c5..c87ecc49 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageCloudServiceImpl.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageCloudServiceImpl.java @@ -25,7 +25,6 @@ import org.springframework.web.multipart.MultipartFile; import software.amazon.awssdk.core.ResponseBytes; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.core.sync.ResponseTransformer; -import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.*; import software.amazon.awssdk.services.s3.presigner.S3Presigner; @@ -116,15 +115,11 @@ public class FileStorageCloudServiceImpl implements IFileStorageService { .contentDisposition("attachment;filename=" + urlEncoderFilename) .acl(acl) .build(); - InputStream inputStream = null; try { - inputStream = file.getInputStream(); - s3Client.putObject(putObjectRequest, RequestBody.fromInputStream(inputStream, file.getSize())); + s3Client.putObject(putObjectRequest, RequestBody.fromBytes(file.getBytes())); } catch (IOException e) { log.error("文件上传-发生异常:", e); return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, "上传失败"); - } finally { - IOUtils.closeQuietly(inputStream); } // 返回上传结果 FileUploadVO uploadVO = new FileUploadVO(); diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java index 9e1c5564..6327488a 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java @@ -37,6 +37,7 @@ import java.util.UUID; @Slf4j public class FileStorageLocalServiceImpl implements IFileStorageService { + private static final String FILE_SEPARATOR = "/"; public static final String UPLOAD_MAPPING = "/upload"; @@ -78,8 +79,8 @@ public class FileStorageLocalServiceImpl implements IFileStorageService { // 目录不存在,新建 directory.mkdirs(); } - if (!path.endsWith(File.separator)) { - path = path + File.separator; + if (!path.endsWith(FILE_SEPARATOR)) { + path = path + FILE_SEPARATOR; } FileUploadVO fileUploadVO = new FileUploadVO(); //原文件名 diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java new file mode 100644 index 00000000..1b9c31a8 --- /dev/null +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/common/json/deserializer/DictDataIntDeserializer.java @@ -0,0 +1,31 @@ +package net.lab1024.sa.base.common.json.deserializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; + +/** + * 字典值为 int类型的 反序列化 + * + * @Author 1024创新实验室: 卓大 + * @Date 2026-04-05 22:17:53 + * @Wechat zhuoda1024 + * @Email lab1024@163.com + * @Copyright 1024创新实验室 + */ +@Slf4j +public class DictDataIntDeserializer extends JsonDeserializer { + + @Override + public Integer deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode listOrObjectNode = objectCodec.readTree(jsonParser); + return Integer.parseInt(listOrObjectNode.asText()); + } + +} diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java index 2a12eb6e..1d35841d 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileStorageLocalServiceImpl.java @@ -37,6 +37,7 @@ import java.util.UUID; @Slf4j public class FileStorageLocalServiceImpl implements IFileStorageService { + private static final String FILE_SEPARATOR = "/"; public static final String UPLOAD_MAPPING = "/upload"; @@ -78,8 +79,8 @@ public class FileStorageLocalServiceImpl implements IFileStorageService { // 目录不存在,新建 directory.mkdirs(); } - if (!path.endsWith(File.separator)) { - path = path + File.separator; + if (!path.endsWith(FILE_SEPARATOR)) { + path = path + FILE_SEPARATOR; } FileUploadVO fileUploadVO = new FileUploadVO(); //原文件名