Переглянути джерело

Merge branch 'hotfix-33741-20221207' into release

dengsixing 2 роки тому
батько
коміт
d0358eb502

+ 21 - 4
src/main/java/com/fdkankan/contro/entity/SceneEditInfoExt.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.fdkankan.db.base.BaseEntity;
 import java.util.Date;
 import lombok.Getter;
 import lombok.Setter;
@@ -62,10 +61,10 @@ public class SceneEditInfoExt {
     private String mosaics;
 
     /**
-     * mosaics数据
+     * 水印文件名
      */
-    @TableField("share_logo_img")
-    private String shareLogoImg;
+    @TableField("water_mark")
+    private String waterMark;
 
     /**
      * 是否有场景关联(0-否,1-是)
@@ -74,6 +73,24 @@ public class SceneEditInfoExt {
     private Integer links;
 
     /**
+     * 是否有滤镜(0-否,1-是)
+     */
+    @TableField("filters")
+    private Integer filters;
+
+    /**
+     * 是否有监控摄像头(0-否,1-是)
+     */
+    @TableField("surveillances")
+    private Integer surveillances;
+
+    /**
+     * mosaics数据
+     */
+    @TableField("share_logo_img")
+    private String shareLogoImg;
+
+    /**
      * 创建时间
      */
     @TableField("create_time")

+ 22 - 0
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -30,6 +30,7 @@ import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.enums.ModelTypeEnums;
 import com.fdkankan.model.utils.CreateHouseJsonUtil;
 import com.fdkankan.model.utils.CreateObjUtil;
+import com.fdkankan.model.utils.SceneUtil;
 import com.fdkankan.push.config.PushMessageConfig;
 import com.fdkankan.push.utils.PushMsgUtil;
 import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
@@ -257,6 +258,9 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
             //拷贝部分文件到编辑目录,用于用户编辑
             this.copyToEditDir(sceneCode);
 
+            //计算完毕后,同步全景图到缓存目录
+            this.cachePanorama(path, sceneCode);
+
             //生成houseTypejson并上传
             uploadFiles.entrySet().stream().filter(entry-> FileNameUtil.getName(entry.getKey()).equals("floorplan_cad.json"))
                     .forEach(entry-> uploadHouseTypeJson(sceneCode,entry.getKey()));
@@ -301,6 +305,24 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
         }
     }
 
+    private void cachePanorama(String dataSource, String num){
+        String cachedImagesPath = String.format(ConstantFilePath.SCENE_CACHE_IMAGES, num);
+        //将全景图缓存到缓存目录
+        List<String> imagesList = FileUtil.listFileNames(dataSource + "/caches/images");
+        //先清除旧的全景图
+        cn.hutool.core.io.FileUtil.del(cachedImagesPath);
+        String visionPath = dataSource + "/results/vision.txt";
+        List<String> panoramaImageList = SceneUtil.getPanoramaImageList(visionPath);
+        imagesList.stream().forEach(fileName -> {
+            if (panoramaImageList.contains(fileName)) {
+                String srcPath = dataSource + "/caches/images/" + fileName;
+                String targetPath = cachedImagesPath + fileName;
+                log.info("源文件:{}, 目标文件:{}", srcPath, targetPath);
+                cn.hutool.core.io.FileUtil.copy(srcPath, targetPath, true);
+            }
+        });
+    }
+
     private Map<String, String> getUploadFiles(ScenePlus scenePlus,String path,Integer cameraType,JSONObject fdageData) throws Exception {
         if (ObjectUtils.isEmpty(scenePlus)) {
             throw new Exception("未找到场景信息:" + path);