wuweihao 3 lat temu
rodzic
commit
5f0209036f

+ 3 - 2
720yun_local_manage/gis_common/src/main/java/com/gis/common/constant/CmdConstant.java

@@ -22,8 +22,9 @@ public class CmdConstant {
 
     /**
      * 压缩目录
-     * @inDir 目录用空格隔开
+     * @inDir 下载目录根目录
      * @output 指定目录
+     * @code  需要下载的目录参数, 参数用逗号隔开
      */
-    public final static String zip = "zip -r @output @inDir";
+    public final static String zip = "zip -r @output @inDir/{@code}";
 }

+ 6 - 4
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/service/impl/OpsServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
@@ -48,7 +49,6 @@ public class OpsServiceImpl  implements OpsService {
     public Result<WorkEntity> downloadWork(String ids) {
         BaseRuntimeException.isBlank(ids, null, "输入参数为空");
         // 替换空格
-        ids = ids.replaceAll(",", " ");
         log.info("下载作品目录:{}", ids);
         String zipName = StrUtils.getTime("work_");
         zipName = "/download/" + zipName + ".zip";
@@ -57,7 +57,8 @@ public class OpsServiceImpl  implements OpsService {
         log.info("zip保存路径:{}", outPath);
         String cmd = CmdConstant.zip;
         cmd = cmd.replaceAll("@output", outPath);
-        cmd = cmd.replaceAll("@inDir", ids);
+        cmd = cmd.replaceAll("@inDir", configConstant.serverBasePath);
+        cmd = cmd.replaceAll("@code", ids);
 
         CmdUtils.callShell(cmd);
 
@@ -78,7 +79,7 @@ public class OpsServiceImpl  implements OpsService {
         }
         String dirCode = dir.toString();
         // 替换空格
-        dirCode = dirCode.replaceAll(",", " ");
+        dirCode = StringUtils.substringBeforeLast(dirCode, ",");
         log.info("下载全景目录:{}", dirCode);
         String zipName = StrUtils.getTime("pano_");
         zipName = "/download/" + zipName + ".zip";
@@ -87,7 +88,8 @@ public class OpsServiceImpl  implements OpsService {
         log.info("zip保存路径:{}", outPath);
         String cmd = CmdConstant.zip;
         cmd = cmd.replaceAll("@output", outPath);
-        cmd = cmd.replaceAll("@inDir", dirCode);
+        cmd = cmd.replaceAll("@inDir", configConstant.serverBasePath + "/work");
+        cmd = cmd.replaceAll("@code", dirCode);
 
         CmdUtils.callShell(cmd);
 

+ 6 - 0
720yun_local_manage/gis_pano/src/main/resources/zip.sh

@@ -0,0 +1,6 @@
+#!/bin/bash
+workPace=$1    #工作目录
+output=$2      #输出目录
+inDir=$3       #下载目录参数
+cd $1
+zip -r $2 $3