dengsixing 3 年之前
父节点
当前提交
e828d3e384

+ 0 - 1
4dkankan-center-scene-download/src/main/java/com/fdkankan/download/service/impl/CheckProgressRunnerImpl.java

@@ -54,7 +54,6 @@ public class CheckProgressRunnerImpl implements CommandLineRunner {
                 return JSON.toJSONString(DownLoadTaskBean.builder().num(num).type("local").build());
             }).collect(Collectors.toList());
 
-            // TODO: 2022/2/22 这里上线是要改成RedisKey.DOWNLOAD_TASK
             //从新入队
             redisUtil.lLeftPushAll(RedisKey.SCENE_DOWNLOADS_TASK_V4, taskList);
 

+ 3 - 7
4dkankan-center-scene-download/src/main/java/com/fdkankan/download/service/impl/SceneDownloadHandlerServiceImpl.java

@@ -391,8 +391,7 @@ public class SceneDownloadHandlerServiceImpl {
                     continue;
                 }
                 imgKeys.add(fky);
-                byte[] bytes = FileUtils.getBytesFromUrl(url);
-                this.zipBytes(out, wwwroot + fky, bytes);
+                this.zipBytes(out, wwwroot + fky, FileUtils.getBytesFromUrl(url));
             }
 
         }
@@ -405,7 +404,6 @@ public class SceneDownloadHandlerServiceImpl {
         }
         cacheKeys.add(key);
         String url = this.resourceUrl + key + "?t=" + Calendar.getInstance().getTimeInMillis();
-        byte[] data = null;
         if(key.contains("hot.json") || key.contains("link-scene.json")){
             String content = FileUtils.getStringFromUrl(url);
 
@@ -414,12 +412,10 @@ public class SceneDownloadHandlerServiceImpl {
                 .replace("https://spc.html","spc.html")
                 .replace("https://smobile.html", "smobile.html");
 
-            data = content.getBytes();
+            zipBytes(out, prefix + key, content.getBytes());
         }else{
-            data = FileUtils.getBytesFromUrl(url);
+            zipBytes(out, prefix + key, FileUtils.getBytesFromUrl(url));
         }
-
-        zipBytes(out, prefix + key, data);
     }
 
 

+ 0 - 19
4dkankan-center-scene-download/src/main/resources/bootstrap-dev.yml

@@ -31,25 +31,6 @@ spring:
       discovery:
         server-addr: 192.168.0.47:8848
         namespace: 4dkankan-dev
-path:
-  v3school: /downloads/v3local/
-  zip-root: wwwroot/
-  zip-local: /downloads/scenes/%s.zip
-  zip-oss: downloads/scenes/%s.zip
-
-download:
-  config:
-    server-url: https://test.4dkankan.com/
-    public-url: https://4dkk.4dage.com/
-    resource-url: https://4dkankan.oss-cn-shenzhen.aliyuncs.com/
-#    server-url: https://eur.4dkankan.com/
-#    public-url: https://eurs3.4dkankan.com/
-#    resource-url: https://eurs3.4dkankan.com/
-    exe-name: start-browser.bat
-    exe-content: | # | 表示不转义特殊字符
-      taskkill /f /t /im http.exe
-      start http://127.0.0.1:9000/spc.html?m=%s
-      http.exe -nc -p 9000 -r wwwroot
 
 
 

+ 17 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/V3Controller.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.controller;
 
 import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.service.ISceneEditInfoService;
 import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
 import com.fdkankan.scene.vo.UpgradeToV4ParamVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +28,8 @@ public class V3Controller extends BaseController {
 
     @Autowired
     private ISceneUpgradeToV4Service sceneUpgradeToV4Service;
+    @Autowired
+    private ISceneEditInfoService sceneEditInfoService;
 
     /**
      * <p>
@@ -58,5 +61,19 @@ public class V3Controller extends BaseController {
         return resultData;
     }
 
+    /**
+     * <p>
+     查询场景scenejson
+     此接口用于V3\V4系统并存过渡期,待V3关闭可以删除
+     * </p>
+     * @author dengsixing
+     * @date 2022/4/21
+     * @return com.fdkankan.common.response.ResultData
+     **/
+    @GetMapping(value = "/getSceneViewInfo")
+    public ResultData getSceneViewInfo(@RequestParam(value = "num") String num){
+        return sceneUpgradeToV4Service.getSceneViewInfo(num);
+    }
+
 
 }

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneUpgradeToV4Service.java

@@ -17,4 +17,6 @@ public interface ISceneUpgradeToV4Service {
 
     ResultData getUpgradeToV4Progress(String num);
 
+    ResultData getSceneViewInfo(String num);
+
 }

+ 43 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneUpgradeToV4Service.java

@@ -4,14 +4,17 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.common.constant.ConstantFilePath;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.bean.SceneUpgradeProgressBean;
+import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.entity.SceneProEdit;
 import com.fdkankan.scene.entity.SceneProEditExt;
@@ -30,6 +33,7 @@ import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.scene.service.ISceneProV3Service;
 import com.fdkankan.scene.service.ISceneRepairLogService;
 import com.fdkankan.scene.service.ISceneUpgradeToV4Service;
+import com.fdkankan.scene.vo.SceneInfoVO;
 import com.fdkankan.scene.vo.UpgradeToV4ParamVO;
 import java.util.HashMap;
 import java.util.Map;
@@ -53,6 +57,8 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
 
     @Value("${queue.scene.upgrade-to-v4}")
     private String upgradeToV4;
+    @Value("${oss.bucket:4dkankan}")
+    private String bucket;
 
     @Autowired
     private ISceneProV3Service sceneProV3Service;
@@ -80,8 +86,8 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
     private ISceneProEditService sceneProEditService;
     @Autowired
     private ISceneProEditExtService sceneProEditExtService;
-
-
+    @Autowired
+    private UploadToOssUtil uploadToOssUtil;
 
     @Override
     public ResultData upgradeToV4(UpgradeToV4ParamVO param) {
@@ -106,7 +112,7 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
                     redisLockUtil.unlockLua(lockKey);
                     return ResultData.error(ErrorCode.FAILURE_CODE_7019);
                 }
-                if(!param.isReUpgrade() && sceneRepairLog.getState() == 1){
+                if(sceneRepairLog.getState() == 1){
                     redisLockUtil.unlockLua(lockKey);
                     return ResultData.error(ErrorCode.FAILURE_CODE_7020);
                 }
@@ -167,4 +173,38 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
         return ResultData.ok(progressBean);
     }
 
+    @Override
+    public ResultData getSceneViewInfo(String num) {
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+        String key = String.format(RedisKey.SCENE_JSON, num);
+        String sceneJson = redisUtil.get(key);
+        SceneInfoVO sceneInfoVO = null;
+        //先查询redis
+        if(StrUtil.isNotEmpty(sceneJson)) {
+            sceneInfoVO = JSON.parseObject(sceneJson, SceneInfoVO.class);
+            sceneInfoVO.setScenePassword(null);
+            if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
+                sceneInfoVO.setFloorPlanAngle(0f);
+            }
+            if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
+                sceneInfoVO.setFloorPlanCompass(0f);
+            }
+            return ResultData.ok(sceneInfoVO);
+        }
+
+        //如果redis没找到,从scene.json中获取
+        String objectName = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, num);
+        String objectContent = uploadToOssUtil.getObjectContent(bucket, objectName);
+        if(StrUtil.isEmpty(objectContent))
+            return ResultData.ok();
+        sceneInfoVO = JSON.parseObject(objectContent, SceneInfoVO.class);
+        sceneInfoVO.setScenePassword(null);
+        if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
+            sceneInfoVO.setFloorPlanAngle(0f);
+        }
+        if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
+            sceneInfoVO.setFloorPlanCompass(0f);
+        }
+        return ResultData.ok(sceneInfoVO);
+    }
 }