浏览代码

add offline queue4

xiewj 3 月之前
父节点
当前提交
4508688b0c

+ 6 - 0
720yun_fd_base/gis_oss/src/main/java/com/gis/oss/constant/CmdConstant.java

@@ -61,4 +61,10 @@ public class CmdConstant {
 
     public static final String UNZIP_MESH_ZIP = "unzip -n %s wwwroot/* -d %s";
 
+    public final static String ZIP_OFFLINE = "cd @path && cp/mnt/720yun_fd_manage_data/offlineData/qjkk_offline.zip . && zip -u -r bashOffline.zip start-browser.bat wwwroot/ && mv bashOffline.zip @target";;
+
+    public final static String EXE_CONTENT="taskkill /f /t /im http.exe\n" +
+            "start http://127.0.0.1:9001/panorama/qjkankan/show.html?id=%s&lang=zh\n\n" +
+            "http.exe -nc -p 9001 -r wwwroot";
+    public final static String EXE_NAME="start-browser.bat";
 }

+ 14 - 11
720yun_fd_consumer/src/main/java/com/gis/listener/container/WorkOfflineListener.java

@@ -172,21 +172,24 @@ public class WorkOfflineListener implements ChannelAwareMessageListener {
                     CmdUtils.callLineSh(cmd);
                     log.info("删除mesh场景文件夹完成:{}", meshBasePath);
                 }
-
+                redisUtil.set(progressKey, 80);
                 //处理全景看看离线包
-
+                String batContent = String.format(CmdConstant.EXE_CONTENT, param.getWorkId());
+                FileUtil.writeUtf8String(batContent, param.getPath()+File.separator+CmdConstant.EXE_NAME);
+                log.info("写入Bat脚本完成");
 //                //打成zip包
-//                String zipName=workEntity.getId()+"_offline.zip";
-//                String zipPath="";
-                redisUtil.set(progressKey, 80);
-//                //上传zip包
-//                String zipOssKey = "720yun_fd_manage/"+workEntity.getId()+"/" + zipName;
-//                fileAndOssUtil.uploadBySh(zipPath, zipOssKey);
-//                 String ossUrl= fileStorageTemplate.calculateUrl("") + zipOssKey;
+                String zipName=workEntity.getId()+"_offline.zip";
+
+                String zipCmd = CmdConstant.ZIP_OFFLINE;
+                zipCmd = zipCmd.replace("@target", param.getPath());
+                zipCmd = zipCmd.replace("@path", zipName);
+                CmdUtils.callLineSh(zipCmd);
+
+                log.info("开始将文件上传OSS");
+                String zipOssKey = "720yun_fd_manage/"+workEntity.getId()+"/" + zipName;
                 redisUtil.set(progressKey, 90);
-//                //通知场景完成
+                OssShUtil.yunUpload(param.getPath() + File.separator + zipName,zipOssKey);
                 redisUtil.set(progressKey, 100);
-//                //修改完成进度
                 workService.updateOfflineStatus(param.getWorkId(), 3);
 //                WorkOfflineDoneDTO workOfflineDoneDTO=new WorkOfflineDoneDTO();
 //                workOfflineDoneDTO.setWorkId(workEntity.getId());