dengsixing hai 4 meses
pai
achega
ceb8ffaebc

+ 2 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/constant/ErrorCode.java

@@ -89,6 +89,8 @@ public enum ErrorCode {
     FAILURE_CODE_4004(4004, "此接口仅支持看看和看见相机场景"),
     FAILURE_CODE_4005(4005, "已超出容量,不允许重新上传"),
 
+    FAILURE_CODE_4006(4006, "此相机场景不允许上传至官网"),
+
 
     FAILURE_CODE_5001(5001, "modeldata.json为空"),
     FAILURE_CODE_5002(5002, "order值为空"),

+ 3 - 1
4dkankan-common-utils/src/main/java/com/fdkankan/common/constant/SceneSource.java

@@ -13,7 +13,9 @@ public enum SceneSource {
 
     QJKK(6, "全景看看"),
     YJHZ(11, "一键换装"),
-    E57(57, "E57");
+    E57(57, "E57"),
+
+    INSTA_360(36, "INSTA_360");
 
     private Integer code;
     private String message;

+ 1 - 1
4dkankan-common-web/src/main/java/com/fdkankan/web/response/BaseResponseAdvice.java

@@ -22,7 +22,7 @@ import java.util.Objects;
 @Slf4j
 public class BaseResponseAdvice implements ResponseBodyAdvice<Object> {
 
-    @Value("${language:zh_CN}")
+    @Value("${fdkk.language:zh_CN}")
     private String language;
 
     @Override

+ 29 - 0
4dkankan-common-web/src/main/java/com/fdkankan/web/util/RSAEncrypt.java

@@ -195,6 +195,35 @@ public class RSAEncrypt {
     }
 
     /**
+     * 从文件中输入流中加载公钥
+     *
+     * @throws Exception 加载公钥时产生的异常
+     */
+    public static String loadPublicKeyByFile() throws Exception {
+        try {
+            InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("key/public.pem");
+            StringBuilder builder = new StringBuilder();
+            InputStreamReader reader = new InputStreamReader(inputStream , "UTF-8" );
+            BufferedReader bfReader = new BufferedReader( reader );
+            String tmpContent = null;
+            while ((tmpContent = bfReader.readLine()) != null) {
+                if (tmpContent.charAt(0) == '-') {
+                    continue;
+                } else {
+                    builder.append(tmpContent);
+                    builder.append('\r');
+                }
+            }
+            bfReader.close();
+            return builder.toString();
+        } catch (IOException e) {
+            throw new Exception("公钥数据读取错误");
+        } catch (NullPointerException e) {
+            throw new Exception("公钥输入流为空");
+        }
+    }
+
+    /**
      * 从文件中加载私钥
      *
      * @return 是否成功

+ 35 - 4
4dkankan-utils-fyun-oss/src/main/java/com/fdkankan/fyun/oss/OssFileService.java

@@ -1,9 +1,13 @@
 package com.fdkankan.fyun.oss;
 
 import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
 import com.aliyun.oss.HttpMethod;
 import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.aliyun.oss.common.comm.ResponseMessage;
 import com.aliyun.oss.model.*;
+import com.fdkankan.common.util.FileMd5Util;
 import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.AbstractFYunFileService;
 import org.slf4j.Logger;
@@ -18,9 +22,7 @@ import org.springframework.util.StringUtils;
 import java.io.*;
 import java.math.BigDecimal;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Component
@@ -81,7 +83,7 @@ public class OssFileService extends AbstractFYunFileService {
                     metadata.setHeader(header.getKey(), header.getValue());
                 }
             }
-            ossClient.putObject(bucket, remoteFilePath, file, metadata);
+            PutObjectResult putObjectResult = ossClient.putObject(bucket, remoteFilePath, file, metadata);
             log.info("文件上传成功,path:{}", filePath);
         } catch (Exception e) {
             log.error("oss上传文件失败,filePath:"+filePath, e);
@@ -89,6 +91,35 @@ public class OssFileService extends AbstractFYunFileService {
         return null;
     }
 
+    public static void main(String[] args) {
+        File file = new File("D:\\Downloads\\SG-t-GjwsdgpLvDb\\wwwroot\\scene_view_data\\SG-t-GjwsdgpLvDb\\images\\pan\\high\\0.jpg");
+        String fileMD5 = FileMd5Util.getFileMD5(file);
+        System.out.println("本地文件md5:" + fileMD5);
+        ObjectMetadata metadata = new ObjectMetadata();
+        Map<String, String> tags = new HashMap<>();
+        tags.put("tag-a", file.getName());
+        metadata.setObjectTagging(tags);
+        OSS ossClient = new OSSClientBuilder().build("http://oss-cn-shenzhen.aliyuncs.com", "LTAI5tJwboCj3r4vUNkSmbyX", "meDy7VYAWbg8kZCKsoUZcIYQxigWOy");
+        PutObjectRequest request = new PutObjectRequest("4dkankan", "testdata/0.jpg", file, metadata);
+        request.setVersionId("123444");
+        PutObjectResult putObjectResult = ossClient.putObject(request);
+        String requestId = putObjectResult.getRequestId();
+        System.out.println("requestId:" + requestId);
+        System.out.println(System.currentTimeMillis());
+        boolean exist = ossClient.doesObjectExist("4dkankan", "testdata/0.jpg");
+        System.out.println(System.currentTimeMillis());
+        System.out.println("文件是否存在:" + exist);
+        if(!exist){
+            System.out.println("文件不存在");
+            // TODO: 2025/3/31 失败处理
+        }
+
+        putObjectResult.getVersionId();
+        System.out.println(putObjectResult.getVersionId());
+
+//        System.out.println(requestId1.equals(requestId2));
+    }
+
     @Override
     public String uploadFileByCommand(String bucket, String filePath, String remoteFilePath) {
         try {