dengsixing 11 місяців тому
батько
коміт
6de6244dd8

+ 2 - 2
src/main/java/com/fdkankan/contro/controller/SceneFileController.java

@@ -158,8 +158,8 @@ public class SceneFileController{
      * @return
      */
     @PostMapping("uploadLiguang")
-    public ResultData uploadLiguang(String params) throws Exception {
-        return sceneFileBuildService.turntableUploadSuccess(params);
+    public ResultData uploadLiguang(String num, String snCode, String ossZipPath) throws Exception {
+        return sceneFileBuildService.uploadLiguang(num, snCode, ossZipPath);
     }
 
 }

+ 5 - 2
src/main/java/com/fdkankan/contro/mq/service/impl/BuildLiguangServiceImpl.java

@@ -3,6 +3,7 @@ package com.fdkankan.contro.mq.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ZipUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
 import cn.hutool.extra.qrcode.QrConfig;
 import cn.hutool.http.ContentType;
@@ -182,8 +183,10 @@ public class BuildLiguangServiceImpl implements IBuildSceneService {
 
     @Override
     public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
-        String ossPath = getOssPath(path);
-        fYunFileService.downloadFileByCommand(path + File.separator + "capture", ossPath);
+        String ossZipPath = (String) buildSceneMqMessage.getExt().get("ossZipPath");
+        fYunFileService.downloadFileByCommand(path + File.separator + "capture", ossZipPath);
+        String zipName = FileUtil.getName(ossZipPath);
+        ZipUtil.unzip(path + "/" + zipName, path + File.separator + "capture");
     }
 
     @Override

+ 14 - 1
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -98,6 +98,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Value("${queue.modeling.intermit.modeling-pre}")
     private String queueIntermitModelingPre;
 
+    @Value("${queue.modeling.liguang.modeling-pre:liguang-modeling-pre}")
+    private String queueLiguangModelingPre;
+
     @Value("${v3.controlUrl:#{null}}")
     private String v3controlUrl;
 
@@ -1896,6 +1899,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             this.save(sceneFileBuild);
         }
 
+        dataSource = ConstantFilePath.BUILD_MODEL_PATH + snCode + "/" + fileId + "/" + unicode;
+
         //生成主表
         if(Objects.isNull(scenePlus)){
             scenePlus = new ScenePlus();
@@ -1913,7 +1918,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         if(Objects.isNull(scenePlusExt)){
             scenePlusExt = new ScenePlusExt();
             scenePlusExt.setPlusId(scenePlus.getId());
-            scenePlusExt.setDataSource(ConstantFilePath.BUILD_MODEL_PATH + snCode + "/" + fileId + "/" + unicode);
+            scenePlusExt.setDataSource(dataSource);
             scenePlusExt.setWebSite(mainUrl + "/smg.html?m=" + num);
             scenePlusExt.setThumb(ConstantUrl.DEFAULT_SCENE_PIC);
             scenePlusExt.setSceneScheme(SceneScheme.FOUR_K.code());
@@ -1948,6 +1953,14 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             sceneEditControlsService.save(sceneEditControls);
         }
 
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("location", 4);
+        BuildSceneCallMessage mqMessage = getBuildSceneMqMessage(num, 13L, null, jsonObject, "V3",
+                dataSource);
+        mqMessage.getExt().put("deleteExtras", true);
+        mqMessage.getExt().put("ossZipPath", ossZipPath);
+        rabbitMqProducer.sendByWorkQueue(queueLiguangModelingPre, mqMessage);
+
         //推送mq到前置计算
         return ResultData.ok();
     }