소스 검색

Merge remote-tracking branch 'origin/master'

dsx 1 년 전
부모
커밋
9e9d57f733

+ 11 - 4
src/main/java/com/fdkankan/download/service/impl/DownloadServiceImpl.java

@@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -381,12 +382,13 @@ public class DownloadServiceImpl implements IDownloadService {
                     );
                 }
             }
-            for (ImageTypeDetail item : items) {
+            List<ImageTypeDetail> imageTypeDetails = Collections.synchronizedList(items);
+            synchronized(imageTypeDetails){
+                imageTypeDetails.parallelStream().forEach(item->{
                 String par = "?x-oss-process=image/resize,m_lfit,w_" + imageType.getSize() + "/crop,w_512,h_512,x_" + item.getX() + ",y_" + item.getY();
 //                if(FYunTypeEnum.AWS.code().equals(uploadType)){
 //                    par += "&imagesVersion="+ imagesVersion;
 //                }
-
                 var url = this.resourceUrl + key;
                 FYunTypeEnum storageType = FYunTypeEnum.get(uploadType);
                 switch (storageType){
@@ -394,15 +396,20 @@ public class DownloadServiceImpl implements IDownloadService {
                         url += par;
                         break;
                     case AWS:
-                        url += URLEncoder.encode(par.replace("/", "@"), "UTF-8");
+                        try {
+                            url += URLEncoder.encode(par.replace("/", "@"), "UTF-8");
+                        } catch (UnsupportedEncodingException e) {
+                            throw new RuntimeException(e);
+                        }
                         break;
                 }
                 //key.split("/" + resolution + "/")[0] + "/" +
                 var fky = dir + "/" + imageType.getName() +  num + "_" + item.getI()  + "_" + item.getJ() + ext;
+
                 this.downloadFile(url, path + fky);
 //                this.downloadFile(url, path);
+                });
             }
-
         }
 
     }

+ 20 - 20
src/main/java/com/fdkankan/download/service/impl/LaserService.java

@@ -100,20 +100,20 @@ public class LaserService  implements ILaserService {
                                         srcPath = "/"+key;
                                     }
                                     this.downloadFile(laserResourceUrl+key,sourceLocal+
-                                            File.separator+datum.getSceneCode()+
+                                            File.separator+num+
                                             File.separator+"www"+
-                                            File.separator+datum.getSceneCode()+srcPath);
+                                            File.separator+num+srcPath);
                                 }
                             }else{
                                 String srcPath=datum.getKey();
                                 if("/".equals(datum.getKey().substring(0,1))){
                                     srcPath = srcPath.substring(1);
                                 }
-                                fYunFileService.downloadFileByCommand(bucket,srcPath,sourceLocal+datum.getPath());
+                                fYunFileService.downloadFileByCommand(bucket,sourceLocal+datum.getPath(),srcPath);
                             }
                             break;
                         case 3:
-                            if (os instanceof WindowsOperatingSystem){
+//                            if (os instanceof WindowsOperatingSystem){
                                 String path = datum.getKey();
                                 if (datum.getKey().startsWith("/")) {
                                     path = path.substring(1);
@@ -124,9 +124,9 @@ public class LaserService  implements ILaserService {
                                         continue;
                                     }
                                     this.downloadFile(laserResourceUrl+key,sourceLocal+
-                                            File.separator+datum.getSceneCode()+
+                                            File.separator+num+
                                             File.separator+"www"+
-                                            File.separator+datum.getSceneCode()+
+                                            File.separator+num+
                                             File.separator+"wwwroot"+
                                             File.separator+datum.getSceneCode()+
                                             File.separator+"data"+
@@ -134,22 +134,22 @@ public class LaserService  implements ILaserService {
                                             File.separator+"depthmap"+
                                             File.separator+FileUtil.getName(key));
                                 }
-                            }else{
-                                String srcPath=datum.getKey();
-                                if("/".equals(datum.getKey().substring(0,1))){
-                                    srcPath = srcPath.substring(1);
-                                }
-                                fYunFileService.downloadFileByCommand(bucket,srcPath,sourceLocal+datum.getPath());
-                                File[] deptLs = FileUtil.ls(sourceLocal+datum.getPath());
-                                for (File dept : deptLs) {
-                                    if (FileUtil.extName(dept).equalsIgnoreCase("ply")){
-                                        FileUtil.del(dept);
-                                    }
-                                }
-                            }
+//                            }else{
+//                                String srcPath=datum.getKey();
+//                                if("/".equals(datum.getKey().substring(0,1))){
+//                                    srcPath = srcPath.substring(1);
+//                                }
+//                                fYunFileService.downloadFileByCommand(bucket,sourceLocal+datum.getPath(),srcPath);
+//                                File[] deptLs = FileUtil.ls(sourceLocal+datum.getPath());
+//                                for (File dept : deptLs) {
+//                                    if (FileUtil.extName(dept).equalsIgnoreCase("ply")){
+//                                        FileUtil.del(dept);
+//                                    }
+//                                }
+//                            }
                             break;
                         case 4:
-                            downloadService.cutImg(num,sourceLocal+datum.getPath(),"4k","tiles");
+                            downloadService.cutImg(datum.getSceneCode(),sourceLocal+datum.getPath(),"4k","tiles");
                             break;
                         default:
                             break;