wangliang 4 年 前
コミット
fce5aa41b3

+ 10 - 1
themis-backend/src/main/java/com/qmth/themis/backend/api/SysController.java

@@ -15,6 +15,7 @@ import com.qmth.themis.business.enums.DownloadFileEnum;
 import com.qmth.themis.business.enums.RoleEnum;
 import com.qmth.themis.business.enums.UploadFileEnum;
 import com.qmth.themis.business.service.*;
+import com.qmth.themis.business.util.OssUtil;
 import com.qmth.themis.business.util.RedisUtil;
 import com.qmth.themis.business.util.ServletUtil;
 import com.qmth.themis.common.enums.ExceptionResultEnum;
@@ -178,7 +179,15 @@ public class SysController {
         String filePath = String.valueOf(jsonObject.get("path"));
         String url = null;
         if (oss) {
-            url = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + filePath;
+            if (Objects.nonNull(filePath)) {
+                String[] strs = filePath.split("/");
+                Integer fileId = UploadFileEnum.convertToId(strs[0]);
+                if (fileId == 3) {
+                    url = OssUtil.getUrlForPrivateBucket(systemConfig.getOssEnv(3), filePath);
+                } else {
+                    url = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + filePath;
+                }
+            }
         } else {
             url = "http://" + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
         }

+ 17 - 0
themis-business/src/main/java/com/qmth/themis/business/enums/UploadFileEnum.java

@@ -1,5 +1,7 @@
 package com.qmth.themis.business.enums;
 
+import java.util.Objects;
+
 /**
  * @Description: 上传文件类型
  * @Param:
@@ -53,4 +55,19 @@ public enum UploadFileEnum {
         }
         return null;
     }
+
+    /**
+     * 状态转换 toName
+     *
+     * @param value
+     * @return
+     */
+    public static Integer convertToId(String value) {
+        for (UploadFileEnum e : UploadFileEnum.values()) {
+            if (Objects.equals(value,e.name())) {
+                return e.getId();
+            }
+        }
+        return null;
+    }
 }