Bladeren bron

配合涛哥修改minio桶

fanxiaoyu 5 dagen geleden
bovenliggende
commit
c1b08d649e

+ 13 - 6
in-cloud/src/main/java/com/jiayue/insu/incloud/pulldata/PullCorrectDataForLx.java

@@ -18,10 +18,12 @@ import com.jiayue.insu.incloud.service.ForecastDataService;
 import com.jiayue.insu.incloud.service.IntegrationCompanyService;
 import com.jiayue.insu.incloud.service.RecordService;
 import com.jiayue.insu.incloud.service.StationService;
+import com.jiayue.insu.incloud.utils.HuaWeiObsUtil;
 import com.jiayue.insu.incloud.utils.SystermUtils;
 import com.jiayue.insu.minio.util.MinioUtilService;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -110,6 +112,7 @@ public class PullCorrectDataForLx implements IPullInitCorrectDataForSH {
             DateTime dateTime = DateUtil.parse(DateUtil.today());
             String day = dateTime.toString("yyyyMMdd");
             StringBuilder queryString = new StringBuilder();
+//            queryString.append("stationId=").append(station.getStationCode());
             queryString.append("stationId=").append(station.getStationCode());
             queryString.append("&version=").append(day);
             queryString.append("&type=").append("E1".equals(station.getType()) ? 2 : 1);
@@ -174,16 +177,20 @@ public class PullCorrectDataForLx implements IPullInitCorrectDataForSH {
                                 File file = genFile(station);
                                 if (file != null) {
                                     String pushDate = DateUtil.format(new Date(), "yyyyMMdd");
-                                    boolean flag = minioUtilService.bucketExists(bucketName);
-                                    if (flag) {
-                                        InputStream in = new FileInputStream(file);
-                                        String fileName = "/" + station.getStationCode() + "/" + file.getName();
-                                        String minIoFileUrl = minioUtilService.putObject(bucketName, fileName, in);
+//                                    boolean flag = minioUtilService.bucketExists(bucketName);
+//                                    if (flag) {
+                                    try (InputStream in = new FileInputStream(file)) {
+                                        byte[] bytes = IOUtils.toByteArray(in);
+                                        String fileName = station.getStationCode() + "/" + file.getName();
+//                                        String minIoFileUrl = minioUtilService.putObject(bucketName, fileName, in);
+                                        String minIoFileUrl = HuaWeiObsUtil.uploadFile(bucketName, fileName, bytes);
+
                                         // 如果文件放成功,回传文件生成信息到云端
 //                                        postFileCreateInfoToCloud(station.getStationCode(), file.getName(), minIoFileUrl);
                                         pushCorr(station, file.getName(), pushDate, minIoFileUrl);
+                                    } catch (IOException e) {
+                                        e.printStackTrace();
                                     }
-
                                 }
                             }
                         }

+ 17 - 8
in-cloud/src/main/java/com/jiayue/insu/incloud/pulldata/PullCorrectDataForSH.java

@@ -28,10 +28,12 @@ import com.jiayue.insu.incloud.service.ForecastDataService;
 import com.jiayue.insu.incloud.service.IntegrationCompanyService;
 import com.jiayue.insu.incloud.service.RecordService;
 import com.jiayue.insu.incloud.service.StationService;
+import com.jiayue.insu.incloud.utils.HuaWeiObsUtil;
 import com.jiayue.insu.incloud.utils.JsonResultUtil;
 import com.jiayue.insu.incloud.utils.SystermUtils;
 import com.jiayue.insu.minio.util.MinioUtilService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -432,20 +434,27 @@ public class PullCorrectDataForSH implements IPullInitCorrectDataForSH {
         InputStream inB = null;
         try {
             // 查看桶名称是否存在
-            boolean flag = minioUtilService.bucketExists(bucketName);
-            if (!flag) {
-                return JsonResultUtil.failure("MinIo桶不存在");
-            }
+//            boolean flag = minioUtilService.bucketExists(bucketName);
+//            if (!flag) {
+//                return JsonResultUtil.failure("MinIo桶不存在");
+//            }
             // 向minIo中放入文件
             in = new FileInputStream(file);
-            String fileName = "/" + stationCode + "/" + file.getName();
-            minIoFileUrl = minioUtilService.putObject(bucketName, fileName, in);
+            byte[] bytes = IOUtils.toByteArray(in);
+            String fileName =  stationCode + "/" + file.getName();
+
+            // 如果文件放成功,回传文件生成信息到云端
+//                                        postFileCreateInfoToCloud(station.getStationCode(), file.getName(), minIoFileUrl);
+//            pushCorr(station, file.getName(), pushDate, minIoFileUrl);
+//                                    }
+            minIoFileUrl = HuaWeiObsUtil.uploadFile(bucketName, fileName, bytes);
             // 如果是AB机,向B中也放入文件
             if (stationCode.indexOf("-A") > 0) {
                 // InputStream 在被读取后,指针已经移动到了流的末尾,第二次上传B时就已经没有数据了,故新建一个输入流
                 inB = new FileInputStream(file);
-                String fileNameB = "/" + stationCode.replace("-A", "-B") + "/" + file.getName();
-                minIoFileUrl = minIoFileUrl + ";" + minioUtilService.putObject(bucketName, fileNameB, inB);
+                byte[] byteB = IOUtils.toByteArray(inB);
+                String fileNameB = stationCode.replace("-A", "-B") + "/" + file.getName();
+                minIoFileUrl = minIoFileUrl + ";" + HuaWeiObsUtil.uploadFile(bucketName, fileNameB, byteB);
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 12 - 8
in-cloud/src/main/java/com/jiayue/insu/incloud/service/impl/ApiServiceImpl.java

@@ -16,6 +16,7 @@ import com.jiayue.insu.incloud.constants.enums.StatusEnum;
 import com.jiayue.insu.incloud.constants.vo.FileCreateLog;
 import com.jiayue.insu.incloud.entity.*;
 import com.jiayue.insu.incloud.service.*;
+import com.jiayue.insu.incloud.utils.HuaWeiObsUtil;
 import com.jiayue.insu.incloud.utils.JsonResultUtil;
 import com.jiayue.insu.incloud.utils.SystermUtils;
 import com.jiayue.insu.minio.util.MinioUtilService;
@@ -23,6 +24,7 @@ import io.jsonwebtoken.JwtBuilder;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -718,20 +720,22 @@ public class ApiServiceImpl implements ApiService {
         InputStream inB = null;
         try {
             // 查看桶名称是否存在
-            boolean flag = minioUtilService.bucketExists(bucketName);
-            if (!flag) {
-                return JsonResultUtil.failure("MinIo桶不存在");
-            }
+//            boolean flag = minioUtilService.bucketExists(bucketName);
+//            if (!flag) {
+//                return JsonResultUtil.failure("MinIo桶不存在");
+//            }
             // 向minIo中放入文件
             in = new FileInputStream(file);
-            String fileName = "/" + stationCode + "/" + file.getName();
-            minIoFileUrl = minioUtilService.putObject(bucketName, fileName, in);
+            byte[] bytes = IOUtils.toByteArray(in);
+            String fileName =  stationCode + "/" + file.getName();
+            minIoFileUrl = HuaWeiObsUtil.uploadFile(bucketName, fileName, bytes);
             // 如果是AB机,向B中也放入文件
             if (stationCode.indexOf("-A") > 0) {
                 // InputStream 在被读取后,指针已经移动到了流的末尾,第二次上传B时就已经没有数据了,故新建一个输入流
                 inB = new FileInputStream(file);
-                String fileNameB = "/" + stationCode.replace("-A", "-B") + "/" + file.getName();
-                minIoFileUrl = minIoFileUrl + ";" + minioUtilService.putObject(bucketName, fileNameB, inB);
+                byte[] byteB = IOUtils.toByteArray(inB);
+                String fileNameB =  stationCode.replace("-A", "-B") + "/" + file.getName();
+                minIoFileUrl = minIoFileUrl + ";" + HuaWeiObsUtil.uploadFile(bucketName, fileNameB, byteB);
             }
         } catch (Exception e) {
             e.printStackTrace();