lyhzzz 2 mēneši atpakaļ
vecāks
revīzija
e2fa2e5f36

+ 17 - 63
src/main/java/com/fdkankan/fusion/down/CaseDownService.java

@@ -444,6 +444,11 @@ public class CaseDownService {
        Long outTime = new Date().getTime();
        Long wiatTime = 10000L;
 
+
+       JSONObject jsonObject = getSceneInfo(num);
+       Integer sceneId = jsonObject.getInteger("id");
+       laserService.rebuildOffline(offPath,isLaser,sceneId);
+
        while (wita){
            Long nowTime = new Date().getTime();
            if(nowTime - startTime < wiatTime){
@@ -453,12 +458,8 @@ public class CaseDownService {
                throw new BusinessException(ResultCode.SYSTEM_ERROR);
            }
            startTime = nowTime;
-           FdkkResponse fdkkResponse = laserService.sceneLocInfo(num);
-           if(fdkkResponse.getCode() != 200){
-               throw new BusinessException(ResultCode.SYSTEM_ERROR);
-           }
-           JSONObject jsonObject = (JSONObject) fdkkResponse.getData();
-           Integer sceneId = jsonObject.getInteger("id");
+           jsonObject =  getSceneInfo(num);
+           sceneId = jsonObject.getInteger("id");
            Boolean meshStatus = jsonObject.getBoolean("meshRebuildOffline");
            Boolean laserStatus = jsonObject.getBoolean("rebuildOffline");
            String meshOfflineFolder = jsonObject.getString("meshOfflineFolder");
@@ -484,71 +485,24 @@ public class CaseDownService {
 
    }
 
+   private JSONObject getSceneInfo(String num){
+       FdkkResponse fdkkResponse = laserService.sceneLocInfo(num);
+       if(fdkkResponse.getCode() != 200){
+           throw new BusinessException(ResultCode.SYSTEM_ERROR);
+       }
+      return  (JSONObject) fdkkResponse.getData();
+
+   }
+
     /**
      * @param buildOfflineStatus   //1 生成成功,0:正在生成 1,初次生成  2,下载失败
      */
     private Boolean downSceneOffline(String num,Integer sceneId, Boolean isLaser, String offPath, Boolean rebuildOffline, String offlineFolder, Integer buildOfflineStatus) {
-        String redisKey = buildSceneKey + num;
-        if(redisUtil.hasKey(redisKey) && Integer.parseInt(redisUtil.get(redisKey))>=3 ){
-            log.info("场景查询状态不对,跳出循环:{},{}",num,isLaser);
-            redisUtil.del(redisKey);
-            return false;
-        }
-        if(buildOfflineStatus == null){
-            redisUtil.del(redisKey);
-            return false;
-        }
-        if(rebuildOffline && buildOfflineStatus !=0){
-            setBuildSceneKey(redisKey);
-            laserService.rebuildOffline(offPath,isLaser,sceneId);
-            return true;
-        }
-        if(StringUtils.isNotBlank(offlineFolder) && offlineFolder.contains(".zip")){
-            setBuildSceneKey(redisKey);
-            laserService.rebuildOffline(offPath,isLaser,sceneId);
-            return true;
-        }
-        if(buildOfflineStatus == -1){
-            setBuildSceneKey(redisKey);
-            laserService.rebuildOffline(offPath,isLaser,sceneId);
-            return true;
-        }
-        if(buildOfflineStatus == 2){
-            redisUtil.del(redisKey);
-            return false;
-        }
-        if(!rebuildOffline && buildOfflineStatus == 1){
-            if(!new File(offlineFolder).exists()){
-                setBuildSceneKey(redisKey);
-                log.info("离线包文件不存在:{}",offlineFolder);
-                laserService.rebuildOffline(offPath,isLaser,sceneId);
-                return true;
-            }
-            if(!offlineFolder.contains(num)){
-                offlineFolder  += File.separator + num;
-            }
-            File file = new File(offlineFolder);
-            File file1 = new File(offPath + File.separator + num);
-            if(!file.getPath().equals(file1.getPath()) || file1.getParentFile().getPath().equals(file.getPath())){
-                try {
-                    FileUtil.copyContent(file,file1,true);
-                }catch (Exception e){
-                    return false;
-                }
-            }
-            redisUtil.del(redisKey);
+        if(buildOfflineStatus == null || buildOfflineStatus == -1 || buildOfflineStatus ==2){
             return false;
         }
         return true;
     }
-    private void setBuildSceneKey(String redisKey){
-        if(redisUtil.hasKey(redisKey)){
-            redisUtil.set(redisKey, String.valueOf(Integer.parseInt(redisUtil.get(redisKey)) +1),60 * 60 * 24);
-        }else {
-            redisUtil.set(redisKey, "1",60 * 60 * 24);
-        }
-
-    }
 
     @Value("${upload.query-path}")
     private String queryPath;