From 0821887bbcfe49328dc676adab058f7e94d0e27d Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Wed, 13 Sep 2023 14:56:37 +0800
Subject: [PATCH] 修复雷达报警投影距离 取消雷达坐标转84坐标

---
 src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java                |    7 
 src/main/java/com/ard/utils/minio/MinioConfig.java                                |   27 ++--
 src/main/java/com/ard/utils/minio/MinioUtil.java                                  |  240 +++++++++++++++++++++++++----------------------
 src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java |    6 
 src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java                 |   11 +-
 5 files changed, 150 insertions(+), 141 deletions(-)

diff --git a/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java b/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
index c9428ee..d01aafb 100644
--- a/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
+++ b/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
@@ -1,7 +1,7 @@
 package com.ard.alarm.apponekey.controller;
 
 import com.ard.utils.http.AjaxResult;
-import com.ard.utils.minio.MinioUtils;
+import com.ard.utils.minio.MinioUtil;
 import org.springframework.web.bind.annotation.*;
 import com.ard.alarm.apponekey.domain.ArdAlarmApponekey;
 import com.ard.alarm.apponekey.service.IArdAlarmApponekeyService;
@@ -20,14 +20,12 @@
 public class ArdAlarmApponekeyController {
     @Resource
     private IArdAlarmApponekeyService ardAlarmApponekeyService;
-    @Resource
-    private MinioUtils minioUtil;
     /**
      * 新增app一键报警
      */
     @PostMapping
     public AjaxResult add(String userId,String name, Double longitude,Double latitude,Double altitude,MultipartFile file) {
-        String url = minioUtil.putObjectAndGetUrl("record", file);
+        String url = MinioUtil.putObjectAndGetUrl("record", file);
         ArdAlarmApponekey ardAlarmApponekey =new ArdAlarmApponekey();
         ardAlarmApponekey.setUserId(userId);
         ardAlarmApponekey.setName(name);
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
index d0cae9d..9ee1b35 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
@@ -6,7 +6,7 @@
 import com.ard.alarm.camera.service.IArdCamerasService;
 import com.ard.alarm.external.domain.ArdEquipExternal;
 import com.ard.alarm.external.service.IArdEquipExternalService;
-import com.ard.utils.minio.MinioUtils;
+import com.ard.utils.minio.MinioUtil;
 import com.ard.utils.other.ByteUtils;
 import com.ard.utils.hiksdk.common.GlobalVariable;
 import com.ard.utils.hiksdk.domain.AccessControlHostEventInfo;
@@ -290,7 +290,7 @@
                     // log.debug("非事件报警数据上报(暂不解析)");
                     break;
                 }
-                log.debug("门禁主机报警上传");
+
                 int dwMinor = strACSInfo.dwMinor;
                 if (dwMinor != 80 && dwMinor != 104) {
                     //只解析真人检测失败和人脸抓拍失败的次类型事件
@@ -305,7 +305,7 @@
                         alarmType = "人脸抓拍失败";
                         break;
                 }
-                log.debug("【主类型】事件"+alarmType);
+                log.debug("门禁主机报警上传:"+alarmType);
                 String alarmTime = DateUtils.convertDate(parseAlarmTime(strACSInfo.struTime), "yyyy-M-d H:m:s");
 
                 //事件图片处理
@@ -321,10 +321,9 @@
                         InputStream input = new ByteArrayInputStream(bytes);
                         String bucketName = "pic";
                         String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg";
-                        MinioUtils minioUtil = SpringUtils.getBean(MinioUtils.class);
-                        boolean uploadObject = minioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG");
+                        boolean uploadObject = MinioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG");
                         if (uploadObject) {
-                            url = minioUtil.getBucketObjectUrl(bucketName, objectName);
+                            url = MinioUtil.getBucketObjectUrl(bucketName, objectName);
                             //log.debug("上传文件成功!" + url);
                         }
                     } catch (Exception e) {
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
index 2bb03b3..143ccdc 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -3,7 +3,7 @@
 import com.ard.alarm.camera.domain.ArdCameras;
 import com.ard.alarm.camera.domain.CameraCmd;
 import com.ard.alarm.external.domain.ArdEquipExternal;
-import com.ard.utils.minio.MinioUtils;
+import com.ard.utils.minio.MinioUtil;
 import com.ard.utils.other.ByteUtils;
 import com.ard.utils.hiksdk.common.GlobalVariable;
 import com.ard.utils.hiksdk.domain.DeviceInfo;
@@ -434,10 +434,9 @@
             InputStream input = new ByteArrayInputStream(array);
             String url = "";
             try {
-                MinioUtils minioUtil = SpringUtils.getBean(MinioUtils.class);
-                boolean b = minioUtil.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input,input.available(), ContentType);
+                boolean b = MinioUtil.uploadObject(cmd.getBucketName(), cmd.getObjectName(), input,input.available(), ContentType);
                 if (b) {
-                    url = minioUtil.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
+                    url = MinioUtil.getBucketObjectUrl(cmd.getBucketName(), cmd.getObjectName());
                    // log.debug("上传文件成功!" + url);
                 }
             } catch (Exception ex) {
diff --git a/src/main/java/com/ard/utils/minio/MinioConfig.java b/src/main/java/com/ard/utils/minio/MinioConfig.java
index d5dada5..db8f4aa 100644
--- a/src/main/java/com/ard/utils/minio/MinioConfig.java
+++ b/src/main/java/com/ard/utils/minio/MinioConfig.java
@@ -3,31 +3,30 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
-import org.springframework.stereotype.Component;
+import org.springframework.context.annotation.Configuration;
 
 /**
  * @Description:
- * @ClassName: MinioClientSingleton
+ * @ClassName: MinioInit
  * @Author: 刘苏义
- * @Date: 2023年05月18日9:32
- * @Version: 1.0
+ * @Date: 2023年08月25日14:03:45
  **/
+
+@Configuration
 @Slf4j(topic = "minio")
-@Component
 public class MinioConfig {
+
     @Value("${spring.minio.endpoint}")
-    private  String endpoint;
+    private String endpoint;
     @Value("${spring.minio.accessKey}")
-    private  String accessKey;
+    private String accessKey;
     @Value("${spring.minio.secretKey}")
-    private  String secretKey;
+    private String secretKey;
 
     @Bean
-    public io.minio.MinioClient getMinioClient() {
-        return io.minio.MinioClient.builder()
-                .endpoint(endpoint)
-                .credentials(accessKey, secretKey)
-                .build();
+    MinioUtil getMinioUtil()
+    {
+        log.info("初始化minio配置"+"【"+endpoint+"("+accessKey+"/"+secretKey+")】");
+        return new MinioUtil(endpoint,accessKey,secretKey);
     }
 }
-
diff --git a/src/main/java/com/ard/utils/minio/MinioUtils.java b/src/main/java/com/ard/utils/minio/MinioUtil.java
similarity index 76%
rename from src/main/java/com/ard/utils/minio/MinioUtils.java
rename to src/main/java/com/ard/utils/minio/MinioUtil.java
index d7e5e27..0976a20 100644
--- a/src/main/java/com/ard/utils/minio/MinioUtils.java
+++ b/src/main/java/com/ard/utils/minio/MinioUtil.java
@@ -6,9 +6,7 @@
 import io.minio.http.Method;
 import io.minio.messages.*;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
 import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
@@ -19,30 +17,58 @@
 import java.util.concurrent.TimeUnit;
 
 /**
- * @Description: Minio客户端工具类
- * @ClassName: MinioUtils
+ * @Description: minio工具类
+ * @ClassName: MinioUtil
  * @Author: 刘苏义
- * @Date: 2023年05月18日9:34
- * @Version: 1.0
+ * @Date: 2023年08月25日14:03:00
  **/
-@SuppressWarnings("ALL")
 @Slf4j(topic = "minio")
-@Component
-public class MinioUtils {
+public class MinioUtil {
 
-    @Resource
-    MinioClient minioClient;
+    private volatile static MinioClient minioClient;
+    public static String domainUrl;
+    public static String accessKey;
+    public static String secretKey;
+
+    private MinioUtil() {
+    }
+
+    public MinioUtil(String domainUrl, String accessKey, String secretKey) {
+        this.domainUrl = domainUrl;
+        this.accessKey = accessKey;
+        this.secretKey = secretKey;
+        creatMinioClient();
+    }
+
+    /**
+     * 获取minio客户端实例
+     *
+     * @return {@link MinioClient}
+     */
+    public static MinioClient creatMinioClient() {
+        if (minioClient == null) {
+            synchronized (MinioUtil.class) {
+                if (minioClient == null) {
+                    minioClient = MinioClient.builder()
+                            .endpoint(domainUrl)
+                            .credentials(accessKey, secretKey)
+                            .build();
+                }
+            }
+        }
+        return minioClient;
+    }
 
     /**
      * 判断桶是否存在
      */
-    public boolean exitsBucket(String bucketName) {
+    public static boolean exitsBucket(String bucket) {
         boolean found = false;
         try {
-            if (StringUtils.isEmpty(bucketName)) {
+            if (StringUtils.isEmpty(bucket)) {
                 return false;
             }
-            BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucketName).build();
+            BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucket).build();
             found = minioClient.bucketExists(bucketExistsArgs);
 
         } catch (Exception ex) {
@@ -54,23 +80,23 @@
     /**
      * 创建桶,并设置桶策略为公共
      */
-    public boolean createBucket(String bucketName) {
+    public static boolean createBucket(String bucket) {
         try {
-            if (StringUtils.isEmpty(bucketName)) {
+            if (StringUtils.isEmpty(bucket)) {
                 return false;
             }
             /*创建桶*/
-            MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucketName).build();
+            MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucket).build();
             minioClient.makeBucket(makeBucketArgs);
             /*设置策略*/
             String sb = "{\"Version\":\"2012-10-17\"," +
                     "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
                     "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
-                    "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucketName +
+                    "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucket +
                     "\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" +
-                    bucketName + "/*\"]}]}";
+                    bucket + "/*\"]}]}";
             SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .config(sb)
                     .build();
             /*设置通知mqtt*/
@@ -89,7 +115,7 @@
             queueConfigurations.add(queueConfiguration);
             config.setQueueConfigurationList(queueConfigurations);
             SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .config(config).build();
             minioClient.setBucketPolicy(setBucketPolicyArgs);
             minioClient.setBucketNotification(setBucketNotificationArgs);
@@ -106,7 +132,7 @@
      *
      * @param bucket 桶名称
      */
-    public boolean removeBucket(String bucket) {
+    public static boolean removeBucket(String bucket) {
         try {
             boolean found = exitsBucket(bucket);
             if (found) {
@@ -134,7 +160,7 @@
      *
      * @return
      */
-    public List<Bucket> getListBuckets() {
+    public static List<Bucket> getListBuckets() {
         try {
             return minioClient.listBuckets();
         } catch (Exception e) {
@@ -147,19 +173,19 @@
      * 生成一个GET请求的带有失效时间的分享链接。
      * 失效时间默认是7天。
      *
-     * @param bucketName 存储桶名称
-     * @param objectName 存储桶里的对象名称
-     * @param expires    失效时间(以秒为单位),默认是7天,不得大于七天
+     * @param bucket  存储桶名称
+     * @param object  存储桶里的对象名称
+     * @param expires 失效时间(以秒为单位),默认是7天,不得大于七天
      * @return
      */
-    public String getObjectWithExpired(String bucketName, String objectName, Integer expires, TimeUnit timeUnit) {
+    public static String getObjectWithExpired(String bucket, String object, Integer expires, TimeUnit timeUnit) {
         String url = "";
-        if (exitsBucket(bucketName)) {
+        if (exitsBucket(bucket)) {
             try {
                 GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs.builder()
                         .method(Method.GET)
-                        .bucket(bucketName)
-                        .object(objectName)
+                        .bucket(bucket)
+                        .object(object)
                         .expiry(expires, timeUnit)
                         .build();
                 url = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs);
@@ -167,7 +193,7 @@
                 log.error("minio生成失效url异常", ex.getMessage());
             }
         } else {
-            createBucket(bucketName);
+            createBucket(bucket);
         }
         return url;
     }
@@ -180,20 +206,13 @@
      * @创建时间 2023/5/18 12:16
      * @修改人和其它信息
      */
-    public String putObjectAndGetUrl(String bucketName, MultipartFile file) {
-        if (!exitsBucket(bucketName)) {
-            createBucket(bucketName);
+    public static String putObjectAndGetUrl(String bucket, MultipartFile file) {
+        if (!exitsBucket(bucket)) {
+            createBucket(bucket);
         }
         //判断文件是否为空
         if (null == file || 0 == file.getSize()) {
             log.error("上传minio文件服务器错误,上传文件为空");
-        }
-        boolean exsit = exitsBucket(bucketName);
-        if (!exsit) {
-            boolean bucket = createBucket(bucketName);
-            if (bucket) {
-                log.info(bucketName + "-桶不存在,成功创建桶");
-            }
         }
         //文件名
         String originalFilename = file.getOriginalFilename();
@@ -204,7 +223,7 @@
             /*上传对象*/
             PutObjectArgs putObjectArgs = PutObjectArgs
                     .builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .object(fileName)
                     .stream(inputStream, file.getSize(), -1)
                     .contentType(file.getContentType())
@@ -214,7 +233,7 @@
             /*获取url*/
             GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                     .builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .object(fileName)
                     .method(Method.GET)
                     .build();
@@ -235,20 +254,13 @@
      * @创建时间 2023/5/18 12:16
      * @修改人和其它信息
      */
-    public String putObjectAndGetUrl(String bucketName, String folder, MultipartFile file) {
-        if (!exitsBucket(bucketName)) {
-            createBucket(bucketName);
+    public static String putObjectAndGetUrl(String bucket, String folder, MultipartFile file) {
+        if (!exitsBucket(bucket)) {
+            createBucket(bucket);
         }
         //判断文件是否为空
         if (null == file || 0 == file.getSize()) {
             log.error("上传minio文件服务器错误,上传文件为空");
-        }
-        boolean exsit = exitsBucket(bucketName);
-        if (!exsit) {
-            boolean bucket = createBucket(bucketName);
-            if (bucket) {
-                log.info(bucketName + "-桶不存在,成功创建桶");
-            }
         }
         //文件名
         String originalFilename = file.getOriginalFilename();
@@ -259,7 +271,7 @@
             /*上传对象*/
             PutObjectArgs putObjectArgs = PutObjectArgs
                     .builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .object(fileName)
                     .stream(inputStream, file.getSize(), -1)
                     .contentType(file.getContentType())
@@ -269,7 +281,7 @@
             /*获取url*/
             GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                     .builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .object(fileName)
                     .method(Method.GET)
                     .build();
@@ -285,15 +297,15 @@
     /**
      * 删除文件
      *
-     * @param bucket     桶名称
-     * @param objectName 对象名称
+     * @param bucket 桶名称
+     * @param object 对象名称
      * @return boolean
      */
-    public boolean removeObject(String bucket, String objectName) {
+    public static boolean removeObject(String bucket, String object) {
         try {
             boolean exsit = exitsBucket(bucket);
             if (exsit) {
-                RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(objectName).build();
+                RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(object).build();
                 minioClient.removeObject(removeObjectArgs);
                 return true;
             }
@@ -306,14 +318,14 @@
     /**
      * 批量删除文件
      *
-     * @param objectNames 对象名称
+     * @param objectList 对象名称列表
      * @return boolean
      */
-    public boolean removeObjects(String bucket, List<String> objectNames) {
+    public static boolean removeObjects(String bucket, List<String> objectList) {
         if (exitsBucket(bucket)) {
             try {
                 List<DeleteObject> objects = new LinkedList<>();
-                for (String str : objectNames) {
+                for (String str : objectList) {
                     objects.add(new DeleteObject(str));
                 }
                 RemoveObjectsArgs removeObjectsArgs = RemoveObjectsArgs.builder().bucket(bucket).objects(objects).build();
@@ -338,7 +350,7 @@
      * @param bucket 桶名称
      * @return {@link List}<{@link String}>
      */
-    public List<String> getBucketObjectName(String bucket) {
+    public static List<String> getBucketObjectName(String bucket) {
         boolean exsit = exitsBucket(bucket);
         if (exsit) {
             List<String> listObjetcName = new ArrayList<>();
@@ -359,10 +371,12 @@
 
     /**
      * 获取单个桶中的所有文件对象名称
-     * @param [bucket,prefix]
+     *
+     * @param bucket 桶名称
+     * @param prefix 前缀
      * @return {@link List}<{@link String}>
      */
-    public List<String> getBucketObjectName(String bucket, String prefix) {
+    public static List<String> getBucketObjectName(String bucket, String prefix) {
         boolean exsit = exitsBucket(bucket);
         if (exsit) {
             List<String> listObjetcName = new ArrayList<>();
@@ -384,19 +398,19 @@
     /**
      * 获取某个桶下某个对象的URL
      *
-     * @param bucket     桶名称
-     * @param objectName 对象名 (文件夹名 + 文件名)
+     * @param bucket 桶名称
+     * @param object 对象名 (文件夹名 + 文件名)
      * @return
      */
-    public String getBucketObjectUrl(String bucketName, String objectName) {
+    public static String getBucketObjectUrl(String bucket, String object) {
         try {
-            if (!exitsBucket(bucketName)) {
+            if (!exitsBucket(bucket)) {
                 return "";
             }
             GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
                     .builder()
-                    .bucket(bucketName)
-                    .object(objectName)
+                    .bucket(bucket)
+                    .object(object)
                     .method(Method.GET)
                     .build();
             String presignedObjectUrl = minioClient.getPresignedObjectUrl(getPresignedObjectUrlArgs);
@@ -411,20 +425,20 @@
     /**
      * 上传对象-stream
      *
-     * @param bucketName  bucket名称
-     * @param objectName  ⽂件名称
+     * @param bucket      bucket名称
+     * @param object      ⽂件名称
      * @param stream      ⽂件流
      * @param size        ⼤⼩
      * @param contextType 类型 Image/jpeg 浏览器可以直接打开,否则下载
      */
-    public boolean uploadObject(String bucketName, String objectName, InputStream stream, long size, String contextType) {
+    public static boolean uploadObject(String bucket, String object, InputStream stream, long size, String contextType) {
         try {
-            if (!exitsBucket(bucketName)) {
-                createBucket(bucketName);
+            if (!exitsBucket(bucket)) {
+                createBucket(bucket);
             }
             PutObjectArgs putObjectArgs = PutObjectArgs.builder()
-                    .bucket(bucketName)
-                    .object(objectName)
+                    .bucket(bucket)
+                    .object(object)
                     .stream(stream, size, -1)
                     .contentType(contextType)
                     .build();
@@ -439,20 +453,20 @@
     /**
      * 上传对象-File
      *
-     * @param bucketName  bucket名称
-     * @param objectName  ⽂件名称
+     * @param bucket      bucket名称
+     * @param object      ⽂件名称
      * @param file        ⽂件
      * @param contextType 类型 Image/jpeg 浏览器可以直接打开,否则下载
      */
-    public boolean uploadObject(String bucketName, String objectName, File file, String contextType) {
+    public static boolean uploadObject(String bucket, String object, File file, String contextType) {
         try {
-            if (!exitsBucket(bucketName)) {
-                createBucket(bucketName);
+            if (!exitsBucket(bucket)) {
+                createBucket(bucket);
             }
             FileInputStream fileInputStream = new FileInputStream(file);
             PutObjectArgs putObjectArgs = PutObjectArgs.builder()
-                    .bucket(bucketName)
-                    .object(objectName)
+                    .bucket(bucket)
+                    .object(object)
                     .stream(fileInputStream, file.length(), -1)
                     .contentType(contextType)
                     .build();
@@ -467,20 +481,20 @@
     /**
      * 上传对象-MultipartFile
      *
-     * @param bucketName    bucket名称
-     * @param objectName    ⽂件名称
-     * @param MultipartFile ⽂件
+     * @param bucket        bucket名称
+     * @param object        ⽂件名称
+     * @param multipartFile ⽂件
      * @param contextType   类型 Image/jpeg 浏览器可以直接打开,否则下载
      */
-    public boolean uploadObject(String bucketName, String objectName, MultipartFile multipartFile, String contextType) {
+    public static boolean uploadObject(String bucket, String object, MultipartFile multipartFile, String contextType) {
         try {
-            if (!exitsBucket(bucketName)) {
-                createBucket(bucketName);
+            if (!exitsBucket(bucket)) {
+                createBucket(bucket);
             }
             InputStream inputStream = multipartFile.getInputStream();
             PutObjectArgs putObjectArgs = PutObjectArgs.builder()
-                    .bucket(bucketName)
-                    .object(objectName)
+                    .bucket(bucket)
+                    .object(object)
                     .stream(inputStream, multipartFile.getSize(), -1)
                     .contentType(contextType)
                     .build();
@@ -495,15 +509,14 @@
     /**
      * 上传对象,用multipartFile名称作为对象名
      *
-     * @param bucketName    bucket名称
-     * @param objectName    ⽂件名称
-     * @param MultipartFile ⽂件
+     * @param bucket        bucket名称
+     * @param multipartFile ⽂件
      * @param contextType   类型 Image/jpeg 浏览器可以直接打开,否则下载
      */
-    public boolean uploadObject(String bucketName, MultipartFile multipartFile, String contextType) {
+    public static boolean uploadObject(String bucket, MultipartFile multipartFile, String contextType) {
         try {
-            if (!exitsBucket(bucketName)) {
-                createBucket(bucketName);
+            if (!exitsBucket(bucket)) {
+                createBucket(bucket);
             }
             if (multipartFile == null) {
                 log.error("上传文件为空");
@@ -512,7 +525,7 @@
             String objectName = multipartFile.getOriginalFilename();
             InputStream inputStream = multipartFile.getInputStream();
             PutObjectArgs putObjectArgs = PutObjectArgs.builder()
-                    .bucket(bucketName)
+                    .bucket(bucket)
                     .object(objectName)
                     .stream(inputStream, multipartFile.getSize(), -1)
                     .contentType(contextType)
@@ -528,15 +541,15 @@
     /**
      * 上传对象-通过本地路径
      *
-     * @param bulkName
-     * @param objectName
-     * @param localFilePathName
-     * @return
+     * @param bucket            桶名称
+     * @param object            对象名称
+     * @param localFilePathName 文件路径
+     * @return boolean
      */
-    public boolean uploadObject(String bucketName, String objectName, String localFilePathName, String contextType) {
+    public static boolean uploadObject(String bucket, String object, String localFilePathName, String contextType) {
         try {
-            if (!exitsBucket(bucketName)) {
-                createBucket(bucketName);
+            if (!exitsBucket(bucket)) {
+                createBucket(bucket);
             }
             File file = new File(localFilePathName);
             if (!file.exists()) {
@@ -544,8 +557,8 @@
                 return false;
             }
             UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder()
-                    .bucket(bucketName)
-                    .object(objectName)
+                    .bucket(bucket)
+                    .object(object)
                     .filename(localFilePathName)
                     .contentType(contextType)
                     .build();
@@ -565,7 +578,7 @@
      * @创建时间 2023/2/6 10:32
      * @修改人和其它信息
      */
-    public Iterable<Result<Item>> getObjectsByBucket(String bucketName) {
+    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName) {
         Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .recursive(true)
@@ -575,13 +588,13 @@
 
     /**
      * @描述 获取桶中所有对象
-     * @参数 [bucketName,prefix]
+     * @参数 [bucketName, prefix]
      * @返回值 java.lang.Iterable<io.minio.Result < io.minio.messages.Item>>
      * @创建人 刘苏义
      * @创建时间 2023/2/6 10:32
      * @修改人和其它信息
      */
-    public Iterable<Result<Item>> getObjectsByBucket(String bucketName, String prefix) {
+    public static Iterable<Result<Item>> getObjectsByBucket(String bucketName, String prefix) {
         Iterable<Result<Item>> listObjects = minioClient.listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .prefix(prefix)
@@ -589,4 +602,5 @@
                 .build());
         return listObjects;
     }
-}
\ No newline at end of file
+
+}

--
Gitblit v1.9.3