xiewj před 2 měsíci
rodič
revize
f06ad79863

+ 6 - 5
720yun_fd_base/gis_oss/src/main/java/com/gis/oss/util/OssShUtil.java

@@ -1,5 +1,6 @@
 package com.gis.oss.util;
 
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.fdkankan.filestorage.FileStorageTemplate;
 import com.gis.common.util.StreamGobblerLine;
@@ -49,19 +50,19 @@ public class OssShUtil {
      *  //@param fyunType   oss or aws
      */
     public static void yunUpload(String srcPath,String destPath){
-        String opType = srcPath.contains(".")? "file":"folder" ;
+        String opType = FileUtil.isFile(srcPath) ? "file":"folder" ;
         FileStorageTemplate bean = SpringUtil.getBean(FileStorageTemplate.class);
         String cmd = String.format(CmdConstant.FYUN_UPLOAD, bean.getBucket(),srcPath,destPath,bean.getActive(),opType);
         callLineSh(cmd);
     }
     public static void yunUpload(String srcPath,String destPath,String bucket,String active){
-        String opType = srcPath.contains(".")? "file":"folder" ;
+        String opType = FileUtil.isFile(srcPath) ? "file":"folder" ;
         FileStorageTemplate bean = SpringUtil.getBean(FileStorageTemplate.class);
         String cmd = String.format(CmdConstant.FYUN_UPLOAD,bucket,srcPath,destPath,active,opType);
         callLineSh(cmd);
     }
     public static void yunDownload(String srcPath,String destPath){
-        String opType = srcPath.contains(".")? "file":"folder" ;
+        String opType = FileUtil.isFile(srcPath) ? "file":"folder" ;
         FileStorageTemplate bean = SpringUtil.getBean(FileStorageTemplate.class);
         if("/".equals(srcPath.substring(0,1))){
             srcPath = srcPath.substring(1);
@@ -70,7 +71,7 @@ public class OssShUtil {
         callLineSh(cmd);
     }
     public static void yunDownloadOther(String srcPath,String destPath,String bucket,String active){
-        String opType = srcPath.contains(".")? "file":"folder" ;
+        String opType = FileUtil.isFile(srcPath) ? "file":"folder" ;
         FileStorageTemplate bean = SpringUtil.getBean(FileStorageTemplate.class);
         if("/".equals(srcPath.substring(0,1))){
             srcPath = srcPath.substring(1);
@@ -79,7 +80,7 @@ public class OssShUtil {
         callLineSh(cmd);
     }
     public static void yunDownload(String bucket,String srcPath,String destPath){
-        String opType = srcPath.contains(".")? "file":"folder" ;
+        String opType = FileUtil.isFile(srcPath) ? "file":"folder" ;
         if("/".equals(srcPath.substring(0,1))){
             srcPath = srcPath.substring(1);
         }

+ 10 - 2
720yun_fd_consumer/src/main/java/com/gis/listener/container/WorkOfflineListener.java

@@ -143,7 +143,11 @@ public class WorkOfflineListener implements ChannelAwareMessageListener {
                 // 下载作品的OSS文件夹
                 String baseOssKey = "720yun_fd_manage";
                 String ossKey = baseOssKey + "/" + workEntity.getId();
-                OssShUtil.yunDownload(ossKey, basePath + File.separator + baseOssKey);
+                if (fileStorageTemplate.getActive().equalsIgnoreCase("aws")){
+                    OssShUtil.yunDownload(ossKey, basePath + File.separator + baseOssKey+File.separator+workEntity.getId());
+                }else {
+                    OssShUtil.yunDownload(ossKey, basePath + File.separator + baseOssKey);
+                }
 
                 String meshBasePath = param.getPath() + File.separator + "mesh";
                 redisUtil.set(progressKey, 20);
@@ -182,7 +186,11 @@ public class WorkOfflineListener implements ChannelAwareMessageListener {
                         if (workNavigationEntity.getType().equalsIgnoreCase("pano")) {
                             String PanoOssKey = baseOssKey + "/" + workNavigationEntity.getSceneCode();
                             log.info("下载作品类-全景图:{},下载路径-PanoOssKey", workNavigationEntity.getSceneCode(), PanoOssKey);
-                            OssShUtil.yunDownload(PanoOssKey, basePath + File.separator + baseOssKey);
+                            if (fileStorageTemplate.getActive().equalsIgnoreCase("aws")){
+                                OssShUtil.yunDownload(PanoOssKey, basePath + File.separator + baseOssKey+File.separator+workEntity.getId());
+                            }else {
+                                OssShUtil.yunDownload(PanoOssKey, basePath + File.separator + baseOssKey);
+                            }
 
                         } else if (workNavigationEntity.getType().equalsIgnoreCase("4dkk")) {
                             // 整合离线包