From c6a05cc862a98abd7d16560e7ac2ab9bf4e12feb Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 21 九月 2023 09:28:07 +0800
Subject: [PATCH] 修改雷达报警数据合并

---
 ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java |   50 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java b/ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java
index 62b93d6..d485c96 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java
@@ -3,6 +3,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import io.minio.*;
+import io.minio.errors.MinioException;
 import io.minio.http.Method;
 import io.minio.messages.*;
 import lombok.extern.slf4j.Slf4j;
@@ -10,7 +11,10 @@
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.IOException;
 import java.io.InputStream;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -79,17 +83,33 @@
     }
 
     /**
-     * 鍒涘缓妗�,骞惰缃《绛栫暐涓哄叕鍏�
+     * 鍒涘缓妗�
      */
     public static boolean createBucket(String bucket) {
         try {
             if (StringUtils.isEmpty(bucket)) {
                 return false;
             }
-            /*鍒涘缓妗�*/
+            //鍒涘缓妗�
             MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucket).build();
             minioClient.makeBucket(makeBucketArgs);
-            /*璁剧疆绛栫暐*/
+            setBucketPolicy(bucket);//璁剧疆妗剁瓥鐣�
+            setBucketNotificationToMqtt(bucket);//璁剧疆妗堕�氱煡鍒癕QTT
+            return true;
+        } catch (Exception ex) {
+            log.error("minio鍒涘缓妗跺紓甯革細", ex.getMessage());
+            return false;
+        }
+    }
+
+    /**
+     * 璁剧疆妗剁瓥鐣�
+     * 鍒樿嫃涔�
+     * 2023/9/20 10:01:39
+     */
+    public static boolean setBucketPolicy(String bucket) {
+        try {
+            //璁剧疆绛栫暐
             String sb = "{\"Version\":\"2012-10-17\"," +
                     "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
                     "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
@@ -100,30 +120,40 @@
                     .bucket(bucket)
                     .config(sb)
                     .build();
-            /*璁剧疆閫氱煡mqtt*/
-            //璁剧疆mqtt涓婚
+            minioClient.setBucketPolicy(setBucketPolicyArgs);
+            return true;
+        } catch (Exception ex) {
+            log.error("璁剧疆妗剁瓥鐣ュ紓甯�:" + ex.getMessage());
+            return false;
+        }
+    }
+
+    /**
+     * 璁剧疆妗堕�氱煡鍒癕QTT
+     * 鍒樿嫃涔�
+     * 2023/9/20 9:59:40
+     */
+    public static boolean setBucketNotificationToMqtt(String bucket) {
+        try {
+            //璁剧疆閫氱煡mqtt
             NotificationConfiguration config = new NotificationConfiguration();
             List<QueueConfiguration> queueConfigurations = new ArrayList<>();
             QueueConfiguration queueConfiguration = new QueueConfiguration();
             queueConfiguration.setQueue("arn:minio:sqs::_:mqtt");
-
             //璁剧疆浜嬩欢
             List<EventType> events = new ArrayList<>();
             events.add(EventType.OBJECT_REMOVED_ANY);
             events.add(EventType.OBJECT_CREATED_ANY);
             queueConfiguration.setEvents(events);
-
             queueConfigurations.add(queueConfiguration);
             config.setQueueConfigurationList(queueConfigurations);
             SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder()
                     .bucket(bucket)
                     .config(config).build();
-            minioClient.setBucketPolicy(setBucketPolicyArgs);
             minioClient.setBucketNotification(setBucketNotificationArgs);
-
             return true;
         } catch (Exception ex) {
-            log.error("minio鍒涘缓妗跺紓甯革細", ex.getMessage());
+            log.error("璁剧疆妗堕�氱煡寮傚父:" + ex.getMessage());
             return false;
         }
     }

--
Gitblit v1.9.3