diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java index b8df7954..3402afad 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java @@ -27,7 +27,7 @@ public interface RemoteLogService * @return 结果 */ @PostMapping("/operlog") - public R saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public R saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception; /** * 保存访问记录 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileException.java index ae615432..b19f2d82 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileException.java @@ -11,9 +11,9 @@ public class FileException extends BaseException { private static final long serialVersionUID = 1L; - public FileException(String code, Object[] args) + public FileException(String code, Object[] args, String msg) { - super("file", code, args, null); + super("file", code, args, msg); } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileNameLengthLimitExceededException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileNameLengthLimitExceededException.java index c425acdf..0962ca5a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileNameLengthLimitExceededException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileNameLengthLimitExceededException.java @@ -11,6 +11,6 @@ public class FileNameLengthLimitExceededException extends FileException public FileNameLengthLimitExceededException(int defaultFileNameLength) { - super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }); + super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }, "the filename is too long"); } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileSizeLimitExceededException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileSizeLimitExceededException.java index 0426067a..f9a66b78 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileSizeLimitExceededException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/file/FileSizeLimitExceededException.java @@ -11,6 +11,6 @@ public class FileSizeLimitExceededException extends FileException public FileSizeLimitExceededException(long defaultMaxSize) { - super("upload.exceed.maxSize", new Object[] { defaultMaxSize }); + super("upload.exceed.maxSize", new Object[] { defaultMaxSize }, "the filesize is too large"); } } diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/service/AsyncLogService.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/service/AsyncLogService.java index 4f5986d1..eb9a13aa 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/service/AsyncLogService.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/service/AsyncLogService.java @@ -22,7 +22,7 @@ public class AsyncLogService * 保存系统日志记录 */ @Async - public void saveSysLog(SysOperLog sysOperLog) + public void saveSysLog(SysOperLog sysOperLog) throws Exception { remoteLogService.saveLog(sysOperLog, SecurityConstants.INNER); } diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java index 39e9b3af..22dfeeb1 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java @@ -4,11 +4,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Predicate; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -26,8 +26,9 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 -@EnableAutoConfiguration +@EnableConfigurationProperties(SwaggerProperties.class) @ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true) +@Import({SwaggerBeanPostProcessor.class, SwaggerWebConfiguration.class}) public class SwaggerAutoConfiguration { /** @@ -37,13 +38,6 @@ public class SwaggerAutoConfiguration private static final String BASE_PATH = "/**"; - @Bean - @ConditionalOnMissingBean - public SwaggerProperties swaggerProperties() - { - return new SwaggerProperties(); - } - @Bean public Docket api(SwaggerProperties swaggerProperties) { diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerBeanPostProcessor.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerBeanPostProcessor.java index 8498f65b..3837f715 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerBeanPostProcessor.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerBeanPostProcessor.java @@ -2,7 +2,6 @@ package com.ruoyi.common.swagger.config; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.stereotype.Component; import org.springframework.util.ReflectionUtils; import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; @@ -16,7 +15,6 @@ import java.util.stream.Collectors; * * @author ruoyi */ -@Component public class SwaggerBeanPostProcessor implements BeanPostProcessor { @Override diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java index 8df48e8e..d8d5c846 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java @@ -3,9 +3,7 @@ package com.ruoyi.common.swagger.config; import java.util.ArrayList; import java.util.List; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; -@Component @ConfigurationProperties("swagger") public class SwaggerProperties { diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerWebConfiguration.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerWebConfiguration.java index 424e8c3c..28556b5e 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerWebConfiguration.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerWebConfiguration.java @@ -1,6 +1,5 @@ package com.ruoyi.common.swagger.config; -import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -9,7 +8,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; * * @author ruoyi */ -@Configuration public class SwaggerWebConfiguration implements WebMvcConfigurer { @Override diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 1ed284c8..f366a161 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,3 @@ -com.ruoyi.common.swagger.config.SwaggerAutoConfiguration -com.ruoyi.common.swagger.config.SwaggerWebConfiguration -com.ruoyi.common.swagger.config.SwaggerBeanPostProcessor +# com.ruoyi.common.swagger.config.SwaggerAutoConfiguration +# com.ruoyi.common.swagger.config.SwaggerWebConfiguration +# com.ruoyi.common.swagger.config.SwaggerBeanPostProcessor diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FastDfsSysFileServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FastDfsSysFileServiceImpl.java index 471b40b0..9336be59 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FastDfsSysFileServiceImpl.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FastDfsSysFileServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.file.service; +import java.io.InputStream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -10,7 +11,7 @@ import com.ruoyi.common.core.utils.file.FileTypeUtils; /** * FastDFS 文件存储 - * + * * @author ruoyi */ @Service @@ -27,7 +28,7 @@ public class FastDfsSysFileServiceImpl implements ISysFileService /** * FastDfs文件上传接口 - * + * * @param file 上传的文件 * @return 访问地址 * @throws Exception @@ -35,8 +36,10 @@ public class FastDfsSysFileServiceImpl implements ISysFileService @Override public String uploadFile(MultipartFile file) throws Exception { - StorePath storePath = storageClient.uploadFile(file.getInputStream(), file.getSize(), + InputStream inputStream = file.getInputStream(); + StorePath storePath = storageClient.uploadFile(inputStream, file.getSize(), FileTypeUtils.getExtension(file), null); + inputStream.close(); return domain + "/" + storePath.getFullPath(); } } diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/MinioSysFileServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/MinioSysFileServiceImpl.java index 3dd2fc6f..a10d6b97 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/MinioSysFileServiceImpl.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/MinioSysFileServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.file.service; +import java.io.InputStream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -10,7 +11,7 @@ import io.minio.PutObjectArgs; /** * Minio 文件存储 - * + * * @author ruoyi */ @Service @@ -23,8 +24,8 @@ public class MinioSysFileServiceImpl implements ISysFileService private MinioClient client; /** - * 本地文件上传接口 - * + * Minio文件上传接口 + * * @param file 上传的文件 * @return 访问地址 * @throws Exception @@ -33,13 +34,15 @@ public class MinioSysFileServiceImpl implements ISysFileService public String uploadFile(MultipartFile file) throws Exception { String fileName = FileUploadUtils.extractFilename(file); + InputStream inputStream = file.getInputStream(); PutObjectArgs args = PutObjectArgs.builder() .bucket(minioConfig.getBucketName()) .object(fileName) - .stream(file.getInputStream(), file.getSize(), -1) + .stream(inputStream, file.getSize(), -1) .contentType(file.getContentType()) .build(); client.putObject(args); + inputStream.close(); return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName; } } diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java index a0d1d4a8..0d4c4dff 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java @@ -6,6 +6,7 @@ import java.nio.file.Paths; import java.util.Objects; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; +import com.ruoyi.common.core.exception.file.FileException; import com.ruoyi.common.core.exception.file.FileNameLengthLimitExceededException; import com.ruoyi.common.core.exception.file.FileSizeLimitExceededException; import com.ruoyi.common.core.exception.file.InvalidExtensionException; @@ -46,6 +47,10 @@ public class FileUploadUtils { return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); } + catch (FileException fe) + { + throw new IOException(fe.getDefaultMessage(), fe); + } catch (Exception e) { throw new IOException(e.getMessage(), e);