ard-admin/src/main/java/com/ard/web/controller/common/CommonController.java
@@ -4,14 +4,16 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ard.common.core.domain.entity.MinioUploadResult; import com.ard.work.domain.entity.MinioSysFile; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.ard.common.config.UavConfig; import com.ard.common.constant.Constants; @@ -21,11 +23,14 @@ import com.ard.common.utils.file.FileUtils; import com.ard.framework.config.ServerConfig; import static com.ard.common.utils.file.MinioUtil.uploadFile; /** * 通用请求处理 * * @author ruoyi */ @Api(tags = "通用请求处理") @RestController @RequestMapping("/common") public class CommonController @@ -160,4 +165,49 @@ log.error("下载文件失败", e); } } /** * minio上传文件 */ @ApiOperation("minio文件上传") @PostMapping("/uploadMinio") public AjaxResult uploadFileMinio(@RequestPart MultipartFile file) { try { // 上传并返回新文件名称 String url = FileUploadUtils.uploadMinio(file); MinioUploadResult minioUploadResult = MinioUploadResult.builder() .url(url) .newFileName(FileUtils.getName(url)) .originalFilename(file.getOriginalFilename()) .build(); return AjaxResult.success(minioUploadResult); } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } /** * minio文件上传-指定桶 */ @ApiOperation("minio文件上传-指定桶") @PostMapping("/uploadMinio/{bucketName}") public AjaxResult upload(@RequestPart("file")MultipartFile file, @PathVariable String bucketName) { try { // 上传并返回访问地址 String url = FileUploadUtils.uploadMinio(file,bucketName); MinioUploadResult minioUploadResult = MinioUploadResult.builder() .url(url) .newFileName(FileUtils.getName(url)) .originalFilename(file.getOriginalFilename()) .build(); return AjaxResult.success(minioUploadResult); } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } } ard-admin/src/main/java/com/ard/web/controller/data/MinioFileController.java
File was deleted ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java
@@ -148,7 +148,25 @@ .securitySchemes(securitySchemes()) .securityContexts(securityContexts()); } @Bean public Docket commonApi() { return new Docket(DocumentationType.SWAGGER_2) .enable(true) .groupName("公共请求接口") // 分组名 .apiInfo(apiInfo("公共请求管理接口")) .select() // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法 .apis(requestHandler -> requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller" + ".common") && requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class) ) .paths(PathSelectors.any()) .build() /* 设置安全模式,swagger可以设置访问token */ .securitySchemes(securitySchemes()) .securityContexts(securityContexts()); } /** * 安全模式,这里指定token通过Authorization头请求头传递 */ ard-admin/src/main/resources/application-prod.yml
@@ -2,10 +2,12 @@ server: # 服务器的HTTP端口,默认为8080 port: 8080 # token配置 token: # 是否允许账户多终端同时登录(true允许 false不允许) soloLogin: true # 日志配置 logging: level: @@ -23,14 +25,6 @@ enable: false username: admin password: ardkj12345 # MyBatis Plus配置 mybatis-plus: # 搜索指定包别名 typeAliasesPackage: com.ard.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml # 地图资源配置 geoserver: @@ -64,6 +58,7 @@ license: khjd7FzUTzJgaArNv97XdA2nKQtYfESOvBHLqjC6MpvPqxCfuQ82nOlTgzoiLp7UoZujARopN2A1ctPFaJ8oHiHQrn3IRV4wqN3hdSM40xXj02YVvTWQBT54WS8Ks+E8Zatp3gk2T0+7cM5a5a3mWzxLMv7CNqw2z9pFBoOBdpY= host: 192.168.1.15 port: 123 #流媒体 mediamtx: apiHost: 192.168.1.3 ard-admin/src/main/resources/application.yml
@@ -6,8 +6,8 @@ version: 3.8.8 # 版权年份 copyrightYear: 2024 # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: D:/ruoyi/uploadPath # 文件路径 示例( Windows配置D:/ard/uploadPath,Linux配置 /home/ard/uploadPath) profile: /home/ard/uploadPath # 获取ip地址开关 addressEnabled: false # 验证码类型 math 数字计算 char 字符验证 @@ -148,7 +148,6 @@ max-active: 8 # #连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1ms #健康监控 boot: admin: ard-common/pom.xml
@@ -125,6 +125,17 @@ <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!-- Minio 文件存储 --> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> </dependencies> </project> ard-common/src/main/java/com/ard/common/config/OssConfiguration.java
New file @@ -0,0 +1,129 @@ package com.ard.common.config; import io.minio.MinioClient; import okhttp3.OkHttpClient; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; /** * @author sean * @version 0.2 * @date 2021/12/9 */ @Component @ConfigurationProperties(prefix = "oss") public class OssConfiguration { /** * @see com.ard.sample.component.oss.model.enums.OssTypeEnum */ public static String provider; /** * Whether to use the object storage service. */ public static boolean enable; /** * The protocol needs to be included at the beginning of the address. */ public static String endpoint; public static String accessKey; public static String secretKey; public static String region; public static Long expire; public static String roleSessionName; public static String roleArn; public static String bucket; public static String objectDirPrefix; public void setProvider(String provider) { OssConfiguration.provider = provider; } public void setEnable(boolean enable) { OssConfiguration.enable = enable; } public void setEndpoint(String endpoint) { OssConfiguration.endpoint = endpoint; } public void setAccessKey(String accessKey) { OssConfiguration.accessKey = accessKey; } public void setSecretKey(String secretKey) { OssConfiguration.secretKey = secretKey; } public void setRegion(String region) { OssConfiguration.region = region; } public void setExpire(Long expire) { OssConfiguration.expire = expire; } public void setRoleSessionName(String roleSessionName) { OssConfiguration.roleSessionName = roleSessionName; } public void setRoleArn(String roleArn) { OssConfiguration.roleArn = roleArn; } public void setBucket(String bucket) { OssConfiguration.bucket = bucket; } public void setObjectDirPrefix(String objectDirPrefix) { OssConfiguration.objectDirPrefix = objectDirPrefix; } @Bean public MinioClient getMinioClient() throws KeyManagementException, NoSuchAlgorithmException {// 忽略 SSL 证书校验(仅开发环境) // 忽略 SSL 验证 TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) {} @Override public void checkServerTrusted(X509Certificate[] chain, String authType) {} @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } }; SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); OkHttpClient okHttpClient = new OkHttpClient.Builder() .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager)trustAllCerts[0]) .hostnameVerifier((hostname, session) -> true) .build(); return MinioClient.builder() .endpoint(endpoint) .credentials(accessKey, secretKey) .httpClient(okHttpClient) .build(); } } ard-common/src/main/java/com/ard/common/core/domain/entity/MinioUploadResult.java
New file @@ -0,0 +1,28 @@ package com.ard.common.core.domain.entity; import com.ard.common.annotation.DataScope; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * Description: Minio上传结果 * Author: lsy * Date: 2025年10月13日10:42 **/ @Data @AllArgsConstructor @NoArgsConstructor @Builder public class MinioUploadResult { /** 新文件名(上传后保存名) */ private String newFileName; /** 文件完整访问 URL */ private String url; /** 上传前原始文件名 */ private String originalFilename; } ard-common/src/main/java/com/ard/common/utils/file/FileUploadUtils.java
@@ -4,8 +4,8 @@ import java.io.IOException; import java.nio.file.Paths; import java.util.Objects; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; import com.ard.common.config.OssConfiguration; import com.ard.common.config.UavConfig; import com.ard.common.constant.Constants; import com.ard.common.exception.file.FileNameLengthLimitExceededException; @@ -14,18 +14,19 @@ import com.ard.common.utils.DateUtils; import com.ard.common.utils.StringUtils; import com.ard.common.utils.uuid.Seq; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; /** * 文件上传工具类 * * @author ruoyi */ public class FileUploadUtils { public class FileUploadUtils { /** * 默认大小 50M */ public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024L; public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024; /** * 默认的文件名最大长度 100 @@ -33,18 +34,25 @@ public static final int DEFAULT_FILE_NAME_LENGTH = 100; /** * 默认上传的地址 * 本地默认上传的地址 */ private static String defaultBaseDir = UavConfig.getProfile(); public static void setDefaultBaseDir(String defaultBaseDir) { /** * Minio默认上传的地址 */ private static String bucketName = OssConfiguration.bucket; public static void setDefaultBaseDir(String defaultBaseDir) { FileUploadUtils.defaultBaseDir = defaultBaseDir; } public static String getDefaultBaseDir() { public static String getDefaultBaseDir() { return defaultBaseDir; } public static String getBucketName() { return bucketName; } /** @@ -54,14 +62,10 @@ * @return 文件名称 * @throws Exception */ public static final String upload(MultipartFile file) throws IOException { try { public static final String upload(MultipartFile file) throws IOException { try { return upload(getDefaultBaseDir(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); } catch (Exception e) { } catch (Exception e) { throw new IOException(e.getMessage(), e); } } @@ -74,14 +78,10 @@ * @return 文件名称 * @throws IOException */ public static final String upload(String baseDir, MultipartFile file) throws IOException { try { public static final String upload(String baseDir, MultipartFile file) throws IOException { try { return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); } catch (Exception e) { } catch (Exception e) { throw new IOException(e.getMessage(), e); } } @@ -100,11 +100,9 @@ */ public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension) throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, InvalidExtensionException { InvalidExtensionException { int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length(); if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) { if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) { throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); } @@ -118,30 +116,73 @@ } /** * 编码文件名 * 以默认BucketName配置上传到Minio服务器 * * @param file 上传的文件 * @return 文件名称 * @throws Exception */ public static final String extractFilename(MultipartFile file) { return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); public static final String uploadMinio(MultipartFile file) throws IOException { try { return uploadMinino(getBucketName(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); } catch (Exception e) { throw new IOException(e.getMessage(), e); } } public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException { /** * 自定义bucketName配置上传到Minio服务器 * * @param file 上传的文件 * @return 文件名称 * @throws Exception */ public static final String uploadMinio(MultipartFile file, String bucketName) throws IOException { try { return uploadMinino(bucketName, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); } catch (Exception e) { throw new IOException(e.getMessage(), e); } } private static String uploadMinino(String bucketName, MultipartFile file, String[] allowedExtension) throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, InvalidExtensionException { int fileNamelength = file.getOriginalFilename().length(); if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) { throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); } assertAllowed(file, allowedExtension); try { String fileName = extractFilename(file); String pathFileName = MinioUtil.uploadFile(bucketName, fileName, file); return pathFileName; } catch (Exception e) { throw new IOException(e.getMessage(), e); } } /** * 编码文件名 */ public static final String extractFilename(MultipartFile file) { return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); } public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException { File desc = new File(uploadDir + File.separator + fileName); if (!desc.exists()) { if (!desc.getParentFile().exists()) { if (!desc.exists()) { if (!desc.getParentFile().exists()) { desc.getParentFile().mkdirs(); } } return desc; } public static final String getPathFileName(String uploadDir, String fileName) throws IOException { public static final String getPathFileName(String uploadDir, String fileName) throws IOException { int dirLastIndex = UavConfig.getProfile().length() + 1; String currentDir = StringUtils.substring(uploadDir, dirLastIndex); return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; @@ -156,40 +197,28 @@ * @throws InvalidExtensionException */ public static final void assertAllowed(MultipartFile file, String[] allowedExtension) throws FileSizeLimitExceededException, InvalidExtensionException { throws FileSizeLimitExceededException, InvalidExtensionException { long size = file.getSize(); if (size > DEFAULT_MAX_SIZE) { if (size > DEFAULT_MAX_SIZE) { throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024); } String fileName = file.getOriginalFilename(); String extension = getExtension(file); if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension)) { if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION) { if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension)) { if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION) { throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension, fileName); } else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION) { } else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION) { throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension, fileName); } else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION) { } else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION) { throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension, fileName); } else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) { } else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) { throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension, fileName); } else { } else { throw new InvalidExtensionException(allowedExtension, extension, fileName); } } @@ -202,12 +231,9 @@ * @param allowedExtension * @return */ public static final boolean isAllowedExtension(String extension, String[] allowedExtension) { for (String str : allowedExtension) { if (str.equalsIgnoreCase(extension)) { public static final boolean isAllowedExtension(String extension, String[] allowedExtension) { for (String str : allowedExtension) { if (str.equalsIgnoreCase(extension)) { return true; } } @@ -220,11 +246,9 @@ * @param file 表单文件 * @return 后缀名 */ public static final String getExtension(MultipartFile file) { public static final String getExtension(MultipartFile file) { String extension = FilenameUtils.getExtension(file.getOriginalFilename()); if (StringUtils.isEmpty(extension)) { if (StringUtils.isEmpty(extension)) { extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType())); } return extension; ard-common/src/main/java/com/ard/common/utils/file/MimeTypeUtils.java
@@ -36,7 +36,9 @@ // 视频格式 "mp4", "avi", "rmvb", "pdf" }; "pdf", // kmz "kmz"}; public static String getExtension(String prefix) { ard-common/src/main/java/com/ard/common/utils/file/MinioUtil.java
File was renamed from ard-work/src/main/java/com/ard/work/component/minio/utils/MinioUtil.java @@ -1,14 +1,16 @@ package com.ard.work.component.minio.utils; package com.ard.common.utils.file; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import com.ard.common.utils.ServletUtils; import com.ard.common.utils.spring.SpringUtils; import io.minio.*; import io.minio.SetBucketPolicyArgs; import org.springframework.web.multipart.MultipartFile; import io.minio.GetPresignedObjectUrlArgs; import io.minio.MinioClient; import io.minio.PutObjectArgs; import io.minio.http.Method; /** @@ -16,7 +18,9 @@ * * @author ruoyi */ public class MinioUtil { public class MinioUtil { /** * 判断桶是否存在 * @@ -214,5 +218,4 @@ throw new IOException(e.getMessage(), e); } } } ard-sample/src/main/java/com/ard/sample/component/oss/model/OssConfiguration.java
File was deleted ard-sample/src/main/java/com/ard/sample/component/oss/service/impl/AliyunOssServiceImpl.java
@@ -12,7 +12,7 @@ import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.sts.model.v20150401.AssumeRoleRequest; import com.aliyuncs.sts.model.v20150401.AssumeRoleResponse; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.model.enums.OssTypeEnum; import com.ard.sample.component.oss.service.IOssService; import com.ard.sample.media.model.CredentialsDTO; ard-sample/src/main/java/com/ard/sample/component/oss/service/impl/AmazonS3ServiceImpl.java
@@ -12,7 +12,7 @@ import com.amazonaws.services.securitytoken.model.AssumeRoleResult; import com.amazonaws.services.securitytoken.model.Credentials; import com.ard.sample.component.AuthInterceptor; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.model.enums.OssTypeEnum; import com.ard.sample.component.oss.service.IOssService; import com.ard.sample.media.model.CredentialsDTO; ard-sample/src/main/java/com/ard/sample/component/oss/service/impl/MinIOServiceImpl.java
@@ -1,6 +1,6 @@ package com.ard.sample.component.oss.service.impl; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.model.enums.OssTypeEnum; import com.ard.sample.component.oss.service.IOssService; import com.ard.sample.media.model.CredentialsDTO; ard-sample/src/main/java/com/ard/sample/component/oss/service/impl/OssAspectHandler.java
@@ -1,6 +1,6 @@ package com.ard.sample.component.oss.service.impl; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.beans.factory.annotation.Autowired; ard-sample/src/main/java/com/ard/sample/component/oss/service/impl/OssServiceContext.java
@@ -1,6 +1,6 @@ package com.ard.sample.component.oss.service.impl; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.model.enums.OssTypeEnum; import com.ard.sample.component.oss.service.IOssService; import com.ard.sample.media.model.CredentialsDTO; ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceFirmwareServiceImpl.java
@@ -8,7 +8,7 @@ import com.ard.sample.common.model.ResponseResult; import com.ard.sample.component.mqtt.model.*; import com.ard.sample.component.mqtt.service.impl.MessageSenderServiceImpl; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.service.impl.OssServiceContext; import com.ard.common.core.redis.RedisConst; import com.ard.common.core.redis.RedisOpsUtils; ard-sample/src/main/java/com/ard/sample/manage/service/impl/LogsFileServiceImpl.java
@@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ard.sample.component.mqtt.model.EventsResultStatusEnum; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.service.impl.OssServiceContext; import com.ard.sample.manage.mapper.ILogsFileMapper; import com.ard.sample.manage.model.dto.LogsFileDTO; ard-sample/src/main/java/com/ard/sample/media/service/impl/FileServiceImpl.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ard.sample.common.model.Pagination; import com.ard.sample.common.model.PaginationData; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.service.impl.OssServiceContext; import com.ard.sample.manage.model.dto.DeviceDictionaryDTO; import com.ard.sample.manage.model.enums.DeviceDomainEnum; ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
@@ -2,7 +2,7 @@ import com.ard.sample.component.mqtt.model.*; import com.ard.sample.component.mqtt.service.IMessageSenderService; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.service.impl.OssServiceContext; import com.ard.sample.media.model.StsCredentialsDTO; import com.ard.sample.storage.service.IStorageService; ard-sample/src/main/java/com/ard/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -7,7 +7,7 @@ import com.ard.common.core.page.TableSupport; import com.ard.sample.common.model.Pagination; import com.ard.sample.common.model.PaginationData; import com.ard.sample.component.oss.model.OssConfiguration; import com.ard.common.config.OssConfiguration; import com.ard.sample.component.oss.service.impl.OssServiceContext; import com.ard.sample.manage.model.enums.DeviceDomainEnum; import com.ard.sample.wayline.mapper.IWaylineFileMapper; ard-work/pom.xml
@@ -86,11 +86,7 @@ <artifactId>gt-epsg-hsql</artifactId> <version>28.2</version> </dependency> <!--minio--> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> </dependency> <!--DOM4j--> <dependency> <groupId>org.dom4j</groupId> ard-work/src/main/java/com/ard/work/component/minio/config/MinioConfig.java
File was deleted ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
@@ -47,7 +47,7 @@ String host = remoteAddress.getHostString(); int port = remoteAddress.getPort(); log.info("与天宇服务器 [{}] 连接成功 ({}:{})", serverId, host, port); log.info("与边缘服务器 [{}] 连接成功 ({}:{})", serverId, host, port); // 针对当前连接的服务器进行注册 tyService.registerMessage(serverId); ard-work/src/main/java/com/ard/work/service/impl/KmzFileServiceImpl.java
@@ -1,7 +1,7 @@ package com.ard.work.service.impl; import com.ard.work.component.minio.config.MinioConfig; import com.ard.work.component.minio.utils.MinioUtil; import com.ard.common.config.OssConfiguration; import com.ard.common.utils.file.MinioUtil; import com.ard.work.config.WaylinePlaningConfig; import com.ard.work.domain.dto.wayline.*; import com.ard.work.domain.entity.UavWayline; @@ -34,9 +34,6 @@ @Slf4j @Transactional public class KmzFileServiceImpl implements IKmzFileService { @Resource private MinioConfig minioConfig; @Resource private IGeoToolsService geoToolsService; @@ -430,9 +427,9 @@ //构建记录 String objectKey = fileName; //若已经存在,则先删除,再添加 if (MinioUtil.exists(minioConfig.getBucketName(), objectKey)) MinioUtil.delete(minioConfig.getBucketName(), objectKey); String kmzUrl = MinioUtil.uploadInputStream(minioConfig.getBucketName(), objectKey, inputStream, if (MinioUtil.exists(OssConfiguration.bucket, objectKey)) MinioUtil.delete(OssConfiguration.bucket, objectKey); String kmzUrl = MinioUtil.uploadInputStream(OssConfiguration.bucket, objectKey, inputStream, inputStream.available(), "application/octet-stream"); // 更新航线kmz地址 UavWayline uavWayline = UavWayline.builder()