瀏覽代碼

场景下载

dsx 1 年之前
父節點
當前提交
04c59c374f
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      src/main/java/com/fdkankan/scene/service/impl/SceneDownloadLogServiceImpl.java

+ 8 - 1
src/main/java/com/fdkankan/scene/service/impl/SceneDownloadLogServiceImpl.java

@@ -181,6 +181,7 @@ public class SceneDownloadLogServiceImpl extends ServiceImpl<ISceneDownloadLogMa
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
         Scene scene = sceneService.getBySceneCode(num);
         String mapping = scene.getMapping();
         Map<String, Object> result = new HashMap<>();
@@ -189,7 +190,13 @@ public class SceneDownloadLogServiceImpl extends ServiceImpl<ISceneDownloadLogMa
                         .eq(SceneDownloadLog::getSceneNum, num)
                         .orderByDesc(SceneDownloadLog::getId)
                         .last("limit 1"));
-        if(Objects.nonNull(sceneDownloadLog) && sceneDownloadLog.getStatus() == 1){
+
+        String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", num);
+        String sceneJson = ossUtil.getFileContent(scenePlusExt.getYunFileBucket(), sceneJsonPath);
+        SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
+        int version = sceneJsonBean.getVersion();
+
+        if(Objects.nonNull(sceneDownloadLog) && sceneDownloadLog.getStatus() == 1 && version == sceneDownloadLog.getSceneVersion()){
             String url=this.publicUrl+":"+fdkkLaserConfig.getLaserPort()+"/" + mapping +sceneDownloadLog.getDownloadUrl();
             result.put("status", 2);
             result.put("url",url);