Browse Source

离线包状态

lyhzzz 5 tháng trước cách đây
mục cha
commit
b0c44612c0
1 tập tin đã thay đổi với 15 bổ sung6 xóa
  1. 15 6
      src/main/java/com/fdkankan/fusion/down/CaseDownService.java

+ 15 - 6
src/main/java/com/fdkankan/fusion/down/CaseDownService.java

@@ -432,23 +432,22 @@ public class CaseDownService {
     public static String buildSceneKey = "fusion:build:scene:";
     private Boolean downSceneOffline(String num,Integer sceneId, Boolean isLaser, String offPath, Boolean rebuildOffline, String offlineFolder, Integer buildOfflineStatus) {
         String redisKey = buildSceneKey + num;
-        redisUtil.set(redisKey,"0",60 * 60 * 24);
         if(redisUtil.hasKey(redisKey) && Integer.parseInt(redisUtil.get(redisKey))>=2 ){
             log.info("场景查询状态不对,跳出循环:{},{}",num,isLaser);
             return false;
         }
         if(rebuildOffline && buildOfflineStatus !=0){
-            redisUtil.set(buildSceneKey, String.valueOf(Integer.parseInt(redisUtil.get(redisKey)) +1),60 * 60 * 24);
+            setBuildSceneKey(redisKey);
             laserService.rebuildOffline(offPath,isLaser,sceneId);
             return true;
         }
         if(StringUtils.isNotBlank(offlineFolder) && offlineFolder.contains(".zip")){
-            redisUtil.set(buildSceneKey, String.valueOf(Integer.parseInt(redisUtil.get(redisKey)) +1),60 * 60 * 24);
+            setBuildSceneKey(redisKey);
             laserService.rebuildOffline(offPath,isLaser,sceneId);
             return true;
         }
         if(buildOfflineStatus == -1){
-            redisUtil.set(buildSceneKey, String.valueOf(Integer.parseInt(redisUtil.get(redisKey)) +1),60 * 60 * 24);
+            setBuildSceneKey(redisKey);
             laserService.rebuildOffline(offPath,isLaser,sceneId);
             return true;
         }
@@ -457,16 +456,26 @@ public class CaseDownService {
         }
         if(!rebuildOffline && buildOfflineStatus == 1){
             if(!new File(offlineFolder).exists()){
-                redisUtil.set(buildSceneKey, String.valueOf(Integer.parseInt(redisUtil.get(redisKey)) +1),60 * 60 * 24);
+                setBuildSceneKey(redisKey);
                 log.info("离线包文件不存在:{}",offlineFolder);
                 laserService.rebuildOffline(offPath,isLaser,sceneId);
                 return true;
             }
-            FileUtil.copyContent(new File(offlineFolder),new File(offPath+File.separator+num),true);
+            if(!redisUtil.hasKey(redisKey)){
+                FileUtil.copyContent(new File(offlineFolder),new File(offPath+File.separator+num),true);
+            }
             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;