소스 검색

故宫博物馆需求

dengsixing 11 달 전
부모
커밋
70ff1100c0

+ 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 num, String snCode, String ossZipPath) throws Exception {
-        return sceneFileBuildService.uploadLiguang(num, snCode, ossZipPath);
+    public ResultData uploadLiguang(String num, String snCode, String ossPath) throws Exception {
+        return sceneFileBuildService.uploadLiguang(num, snCode, ossPath);
     }
 
 }

+ 19 - 4
src/main/java/com/fdkankan/contro/mq/service/impl/BuildLiguangServiceImpl.java

@@ -158,6 +158,23 @@ public class BuildLiguangServiceImpl implements IBuildSceneService {
             //下载资源到本地
             this.downLoadSource(message, message.getPath());
 
+            //读取data.fdage,获取场景名称
+            String dataFdageStr = FileUtil.readUtf8String(message.getPath() + "/capture/data.fdage");
+            JSONObject dataFdage = JSON.parseObject(dataFdageStr);
+            if(Objects.nonNull(dataFdage)){
+                String title = dataFdage.getString("name");
+                if(StrUtil.isNotEmpty(title)){
+                    ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+                    scenePlus.setTitle(title);
+                    scenePlusService.updateById(scenePlus);
+
+                    SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+                    sceneEditInfo.setTitle(title);
+                    sceneEditInfoService.updateById(sceneEditInfo);
+                }
+            }
+
+
             message.getBuildContext().put("cameraType",message.getCameraType());
 
             message.setBizType("standard");
@@ -183,10 +200,8 @@ public class BuildLiguangServiceImpl implements IBuildSceneService {
 
     @Override
     public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
-        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");
+        String ossPath = (String) buildSceneMqMessage.getExt().get("ossPath");
+        fYunFileService.downloadFileByCommand(path + File.separator + "capture", ossPath);
     }
 
     @Override

+ 1 - 1
src/main/java/com/fdkankan/contro/service/ISceneFileBuildService.java

@@ -29,5 +29,5 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
     ResultData copyDataAndBuild(String sourceBucet,String dataSource,String sceneVer) throws Exception;
 
-    ResultData uploadLiguang(String num, String snCode, String ossZipPath) throws Exception;
+    ResultData uploadLiguang(String num, String snCode, String ossPath) throws Exception;
 }

+ 7 - 4
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -1845,10 +1845,10 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     }
 
     @Override
-    public ResultData uploadLiguang(String num, String snCode, String ossZipPath) throws Exception {
+    public ResultData uploadLiguang(String num, String snCode, String ossPath) throws Exception {
 
-        if(StrUtil.isEmpty(ossZipPath)){
-            return ResultData.error(-1, "压缩路径不能为空");
+        if(StrUtil.isEmpty(ossPath)){
+            return ResultData.error(-1, "资源路径不能为空");
         }
 
         if(StrUtil.isEmpty(num) && StrUtil.isEmpty(snCode)){
@@ -1958,7 +1958,10 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         BuildSceneCallMessage mqMessage = getBuildSceneMqMessage(num, 13L, null, jsonObject, "V3",
                 dataSource);
         mqMessage.getExt().put("deleteExtras", true);
-        mqMessage.getExt().put("ossZipPath", ossZipPath);
+        mqMessage.getExt().put("ossPath", ossPath);
+        //故宫博物馆需求,特殊算法参数
+        mqMessage.getExt().put("splitType", "SPLIT_V3");
+        mqMessage.getExt().put("skyboxType", "SKYBOX_V6");
         rabbitMqProducer.sendByWorkQueue(queueLiguangModelingPre, mqMessage);
 
         //推送mq到前置计算