lyhzzz 3 年之前
父節點
當前提交
85d845b84b

+ 21 - 0
src/main/java/com/fdkankan/ucenter/common/DownloadStatusEnum.java

@@ -0,0 +1,21 @@
+package com.fdkankan.ucenter.common;
+
+public enum DownloadStatusEnum {
+    DOWNLOADING(1000, "文件正在下载"),
+    DOWNLOAD_COMPRESSING(1001, "文件正在压缩"),
+    DOWNLOAD_SUCCESS(1002, "文件压缩成功/下载处理成功"),
+    DOWNLOAD_FAILED(1003, "下载处理失败");
+
+    public static final int DOWNLOADING_CODE = 1000;
+    public static final int DOWNLOAD_COMPRESSING_CODE = 1001;
+    public static final int DOWNLOAD_SUCCESS_CODE = 1002;
+    public static final int DOWNLOAD_FAILED_CODE = 1003;
+
+    private int status;
+    private String desc;
+
+    DownloadStatusEnum(int status, String desc) {
+        this.status = status;
+        this.desc = desc;
+    }
+}

+ 22 - 1
src/main/java/com/fdkankan/ucenter/service/impl/DownService.java

@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.ucenter.common.DownloadStatusEnum;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.service.*;
@@ -162,7 +163,27 @@ public class DownService implements IDownService {
         if(StringUtils.isEmpty(result)){
             return new DownloadProcessVo();
         }
-        return JSONObject.parseObject(result,DownloadProcessVo.class);
+        int isUp = 0;
+        if(scenePro == null){
+            isUp = 1;
+        }
+        SceneDownloadLog sceneDownloadLog = sceneDownloadLogService.getByStatusAndNum(sceneNum,0,isUp);
+
+        DownloadProcessVo downloadProcessVo = JSONObject.parseObject(result, DownloadProcessVo.class);
+        switch (downloadProcessVo.getStatus()) {
+            case DownloadStatusEnum.DOWNLOAD_SUCCESS_CODE:
+                String url = downloadProcessVo.getUrl();
+                if (!StringUtils.isEmpty(url)) {
+                    sceneDownloadLog.setDownloadUrl(url);
+                    sceneDownloadLog.setStatus(1);
+                    break;
+                }
+            case DownloadStatusEnum.DOWNLOAD_FAILED_CODE:
+                sceneDownloadLog.setStatus(-1);
+                break;
+        }
+        sceneDownloadLogService.updateById(sceneDownloadLog);
+        return downloadProcessVo;
     }
 
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -143,6 +143,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         return map;
     }
 
+    /**
+     * @param payStatus -2 封存,为 1 解封
+     */
     @Override
     public void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId, int payStatus) {
         LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();