Browse Source

Merge remote-tracking branch 'origin/release' into project-liantong

dengsixing 9 months ago
parent
commit
66262c5a9f

+ 8 - 0
src/main/java/com/fdkankan/download/bean/SceneEditControlsVO.java

@@ -1,5 +1,6 @@
 package com.fdkankan.download.bean;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -113,4 +114,11 @@ public class SceneEditControlsVO implements Serializable {
 
     private Integer showAllModel;
 
+    /**
+     * 是否显示cad底图
+     */
+    private Integer showTexture;
+
+    private Integer showPanos;
+
 }

+ 2 - 0
src/main/java/com/fdkankan/download/bean/SceneViewInfo.java

@@ -253,6 +253,8 @@ public class SceneViewInfo implements Serializable {
      */
     private JSONObject started;
 
+    private Integer floorLogoType;
+
     /**
      * 空间绘制
      */

+ 181 - 0
src/main/java/com/fdkankan/download/entity/SceneEditControls.java

@@ -0,0 +1,181 @@
+package com.fdkankan.download.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2022-01-20
+ */
+@Getter
+@Setter
+@TableName("t_scene_edit_controls")
+public class SceneEditControls implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * t_scene_edit_info表id
+     */
+    @TableField("edit_info_id")
+    private Long editInfoId;
+
+    /**
+     * 是否展示小地图(0-不展示,1-展示)
+     */
+    @TableField("show_map")
+    private Integer showMap;
+
+    /**
+     * 是否需要密码(0-不需要,1-需要)
+     */
+    @TableField("show_lock")
+    private Integer showLock;
+
+    /**
+     * 是否展示标题(0-不需要,1-需要)
+     */
+    @TableField("show_title")
+    private Integer showTitle;
+
+    /**
+     * 是否展示漫游按钮(0-不需要,1-需要)
+     */
+    @TableField("show_panorama")
+    private Integer showPanorama;
+
+    /**
+     * 是否展示3D按钮(0-不需要,1-需要)
+     */
+    @TableField("show_dollhouse")
+    private Integer showDollhouse;
+
+    /**
+     * 是否展示2D按钮(0-不需要,1-需要)
+     */
+    @TableField("show_floorplan")
+    private Integer showFloorplan;
+
+    /**
+     * 是否展示VR(0-不需要,1-需要)
+     */
+    @TableField("show_VR")
+    private Integer showVR;
+
+    /**
+     * 是否展示自动导览(0-不需要,1-需要)
+     */
+    @TableField("show_tour")
+    private Integer showTour;
+
+    /**
+     * 是否展示测量线(0-不需要,1-需要)
+     */
+    @TableField("show_rule")
+    private Integer showRule;
+
+
+    /**
+     * 是否展示标尺(0-不需要,1-需要)
+     */
+    @TableField("show_scale")
+    private Integer showScale;
+
+    /**
+     * 是否展示分享场景(0-不需要,1-需要)
+     */
+    @TableField("show_share")
+    private Integer showShare;
+
+    /**
+     * 是否展示分享热点(0-不需要,1-需要)
+     */
+    @TableField("show_tagshare")
+    private Integer showTagshare;
+
+    /**
+     * 是否展示合照开关(0-不需要,1-需要)
+     */
+    @TableField("show_capture")
+    private Integer showCapture;
+
+    /**
+     * 是否显示多媒体标签标题(0-否,1-是)
+     */
+    @TableField("show_tag_title")
+    private Integer showTagTitle;
+
+    /**
+     * 是否显示指示牌标签标题(0-否,1-是)
+     */
+    @TableField("show_billboard_title")
+    private Integer showBillboardTitle;
+
+    /**
+     * 是否显示视频监控标签标题(0-否,1-是)
+     */
+    @TableField("show_camera_title")
+    private Integer showCameraTitle;
+
+    /**
+     * 是否显示场景关联标签标题(0-否,1-是)
+     */
+    @TableField("show_link_title")
+    private Integer showLinkTitle;
+
+    /**
+     * 是否显示空间绘制标题
+     */
+    @TableField("show_draw_title")
+    private Integer showDrawTitle;
+
+    /**
+     * 是否显示全部模型
+     */
+    @TableField("show_all_model")
+    private Integer showAllModel;
+
+    /**
+     * 是否显示cad底图
+     */
+    @TableField("show_texture")
+    private Integer showTexture;
+
+    @TableField("show_panos")
+    private Integer showPanos;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 207 - 0
src/main/java/com/fdkankan/download/entity/SceneEditInfo.java

@@ -0,0 +1,207 @@
+package com.fdkankan.download.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2022-01-20
+ */
+@Getter
+@Setter
+@TableName("t_scene_edit_info")
+public class SceneEditInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("scene_pro_id")
+    private Long sceneProId;
+
+    @TableField("scene_plus_id")
+    private Long scenePlusId;
+
+    /**
+     * 地面logo名称
+     */
+    @TableField("floor_logo")
+    private String floorLogo;
+
+    /**
+     * 地面logo大小
+     */
+    @TableField("floor_logo_size")
+    private Integer floorLogoSize;
+
+    /**
+     * 地面logo文件名称
+     */
+    @TableField("floor_logo_file")
+    private String floorLogoFile;
+
+    /**
+     * 背景音乐名称
+     */
+    @TableField("music")
+    private String music;
+
+    /**
+     * 背景音乐文件名称
+     */
+    @TableField("music_file")
+    private String musicFile;
+
+    /**
+     * 浏览密码
+     */
+    @TableField("scene_password")
+    private String scenePassword;
+
+    /**
+     * 场景标题
+     */
+    @TableField("title")
+    private String title;
+
+    /**
+     * 场景描述
+     */
+    @TableField("description")
+    private String description;
+
+    /**
+     * 用户是否上传户型图
+     */
+    @TableField("floor_plan_user")
+    private Byte floorPlanUser;
+
+//    /**
+//     *
+//     */
+//    @TableField("cad_info")
+//    private String cadInfo;
+
+    /**
+     * 是否有热点数据(0-否,1-是)
+     */
+    @TableField("tags")
+    private Byte tags;
+
+    /**
+     * 版本
+     */
+    @TableField("version")
+    private Integer version;
+
+    /**
+     * 图片版本
+     */
+    @TableField("img_version")
+    private Integer imgVersion;
+
+    /**
+     * 场景关联版本
+     */
+    @TableField("link_version")
+    private Integer linkVersion;
+
+    /**
+     * 是否上传模型
+     */
+    @TableField("is_upload_obj")
+    private Byte isUploadObj;
+
+    /**
+     * 重新建模的版本
+     */
+    @TableField("floor_edit_ver")
+    private Integer floorEditVer;
+
+    /**
+     * 正式发布重新建模的版本
+     */
+    @TableField("floor_publish_ver")
+    private Integer floorPublishVer;
+
+    /**
+     * 空间视频数据
+     */
+    @TableField("box_videos")
+    private String boxVideos;
+
+    /**
+     * 空间贴图数据
+     */
+    @TableField("box_photos")
+    private String boxPhotos;
+
+    /**
+     * 空间模型数据
+     */
+    @TableField("box_models")
+    private String boxModels;
+
+    /**
+     * 是否需要处理球幕视频
+     */
+    @TableField("build_video_status")
+    private Byte buildVideoStatus;
+
+    /**
+     * 初始点信息
+     */
+    @TableField("entry")
+    private String entry;
+
+    /**
+     * 加载logo名
+     */
+    @TableField("loading_logo")
+    private String loadingLogo;
+
+    /**
+     * 加载logo文件名
+     */
+    @TableField("loading_logo_file")
+    private String loadingLogoFile;
+
+    /**
+     * 用户上传自定义平面图数据
+     */
+    @TableField("floor_plan_upload")
+    private String floorPlanUpload;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 146 - 0
src/main/java/com/fdkankan/download/entity/SceneEditInfoExt.java

@@ -0,0 +1,146 @@
+package com.fdkankan.download.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2022-03-07
+ */
+@Getter
+@Setter
+@TableName("t_scene_edit_info_ext")
+public class SceneEditInfoExt {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("scene_pro_id")
+    private Long sceneProId;
+
+    @TableField("scene_plus_id")
+    private Long scenePlusId;
+
+    @TableField("edit_info_id")
+    private Long editInfoId;
+
+    @TableField("floor_plan_angle")
+    private Float floorPlanAngle;
+
+    @TableField("floor_plan_compass")
+    private Float floorPlanCompass;
+
+    /**
+     * 大场景序号(随心装场景码)  原pro_edit表中的字段
+     */
+    @TableField("vr_num")
+    private String vrNum;
+
+    /**
+     * 是否有保存导览(0-否,1-是)
+     */
+    @TableField("tours")
+    private Integer tours;
+
+    /**
+     * 是否有马赛克
+     */
+    @TableField("mosaic")
+    private Integer mosaic;
+
+    /**
+     * 水印文件名
+     */
+    @TableField("water_mark")
+    private String waterMark;
+
+    /**
+     * 是否有场景关联(0-否,1-是)
+     */
+    @TableField("links")
+    private Integer links;
+
+    /**
+     * 是否有滤镜(0-否,1-是)
+     */
+    @TableField("filters")
+    private Integer filters;
+
+    /**
+     * 是否有监控摄像头(0-否,1-是)
+     */
+    @TableField("surveillances")
+    private Integer surveillances;
+
+    /**
+     * 二维码logo路径(oss相对路径)
+     */
+    @TableField("share_logo_img")
+    private String shareLogoImg;
+
+    /**
+     * 是否有指示牌(0-否,1-是)
+     */
+    @TableField("billboards")
+    private Integer billboards;
+
+    /**
+     * 是否有指示牌(0-否,1-是)
+     */
+    @TableField("cut_model")
+    private Integer cutModel;
+
+    /**
+     * 是否有指示牌(0-否,1-是)
+     */
+    @TableField("scene_draw")
+    private Integer sceneDraw;
+
+    /**
+     * 分享配置信息
+     */
+    @TableField("sns_info")
+    private String snsInfo;
+
+    /**
+     * 启动页信息
+     */
+    @TableField("started")
+    private String started;
+
+    /**
+     * 地面logo类型(0-指北针,1-图标)
+     */
+    @TableField("floor_logo_type")
+    private Integer floorLogoType;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+
+}

+ 5 - 2
src/main/java/com/fdkankan/download/entity/ScenePlusExt.java

@@ -12,10 +12,10 @@ import lombok.Setter;
 
 /**
  * <p>
- * 
+ *
  * </p>
  *
- * @author 
+ * @author
  * @since 2022-08-17
  */
 @Getter
@@ -130,6 +130,9 @@ public class ScenePlusExt implements Serializable {
     @TableField("videos")
     private String videos;
 
+    @TableField("model_kind")
+    private String modelKind;
+
     /**
      * 计算耗时
      */

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneEditControlsMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.download.entity.SceneEditControls;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+@Mapper
+public interface ISceneEditControlsMapper extends BaseMapper<SceneEditControls> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneEditInfoExtMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.download.entity.SceneEditInfoExt;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2022-03-07
+ */
+@Mapper
+public interface ISceneEditInfoExtMapper extends BaseMapper<SceneEditInfoExt> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/download/mapper/ISceneEditInfoMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.download.entity.SceneEditInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+@Mapper
+public interface ISceneEditInfoMapper extends BaseMapper<SceneEditInfo> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/download/service/ISceneEditControlsService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.download.entity.SceneEditControls;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+public interface ISceneEditControlsService extends IService<SceneEditControls> {
+
+    SceneEditControls getBySceneEditId(long sceneEditInfoId);
+
+}

+ 19 - 0
src/main/java/com/fdkankan/download/service/ISceneEditInfoExtService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.download.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.download.entity.SceneEditInfoExt;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author
+ * @since 2022-03-07
+ */
+public interface ISceneEditInfoExtService extends IService<SceneEditInfoExt> {
+
+    SceneEditInfoExt getByEditInfoId(long editInfoId);
+
+
+}

+ 18 - 0
src/main/java/com/fdkankan/download/service/ISceneEditInfoService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.download.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.download.entity.SceneEditInfo;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+public interface ISceneEditInfoService extends IService<SceneEditInfo> {
+
+    SceneEditInfo getByScenePlusId(long scenePlusId);
+
+}

+ 166 - 6
src/main/java/com/fdkankan/download/service/impl/SceneDownloadHandlerServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.download.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.ConcurrentHashSet;
 import cn.hutool.core.date.DateUtil;
@@ -17,12 +18,8 @@ import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.download.bean.*;
-import com.fdkankan.download.entity.ScenePlus;
-import com.fdkankan.download.entity.ScenePlusExt;
-import com.fdkankan.download.entity.ScenePro;
-import com.fdkankan.download.service.IScenePlusExtService;
-import com.fdkankan.download.service.IScenePlusService;
-import com.fdkankan.download.service.ISceneProService;
+import com.fdkankan.download.entity.*;
+import com.fdkankan.download.service.*;
 import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.model.constants.UploadFilePath;
@@ -249,6 +246,8 @@ public class SceneDownloadHandlerServiceImpl {
             this.zipOssFiles(ossFilePaths, num, count, total, resolution, imagesVersion, cacheKeys, "v4");
             log.info("打包oss文件耗时, num:{}, time:{}", num, timer.intervalRestart());
 
+            this.downloadDbAndRedisData(num);
+
             //重新写入scene.json(去掉密码访问设置)
             this.zipSceneJson(num, sceneViewInfo);
 
@@ -498,6 +497,167 @@ public class SceneDownloadHandlerServiceImpl {
         FileUtil.writeUtf8String(num, String.format(sourceLocal, num, "code.txt"));
     }
 
+    @Autowired
+    private ISceneEditInfoService sceneEditInfoService;
+    @Autowired
+    private ISceneEditInfoExtService sceneEditInfoExtService;
+    @Autowired
+    private ISceneEditControlsService sceneEditControlsService;
+
+    private void downloadDbAndRedisData(String num) throws Exception{
+
+        String cachePath = String.format(this.sourceLocal, num, this.wwwroot) + String.format(UploadFilePath.VIEW_PATH, num) + "cache/";
+        try {
+            //db t_scene_plus、t_scene_plus_ext、t_scene_edit_info、t_scene_edit_info_ext、t_scene_edit_controls
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            FileUtil.writeUtf8String(JSON.toJSONString(scenePlus), cachePath + "t_scene_plus.txt");
+
+            ScenePlusExt scenePlusExt = scenePlusExtService.getByScenePlusId(scenePlus.getId());
+            FileUtil.writeUtf8String(JSON.toJSONString(scenePlusExt), cachePath + "t_scene_plus_ext.txt");
+
+            SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+            sceneEditInfo.setFloorLogo("0");
+            sceneEditInfo.setFloorLogoSize(null);
+            sceneEditInfo.setFloorLogoFile(null);
+            sceneEditInfo.setMusic(null);
+            sceneEditInfo.setMusicFile(null);
+            sceneEditInfo.setFloorPlanUser((byte)0);
+            sceneEditInfo.setTags((byte)0);
+            sceneEditInfo.setVersion(0);
+            sceneEditInfo.setImgVersion(0);
+            sceneEditInfo.setLinkVersion(0);
+            sceneEditInfo.setIsUploadObj((byte)0);
+            sceneEditInfo.setFloorEditVer(0);
+            sceneEditInfo.setFloorPublishVer(0);
+            sceneEditInfo.setBoxVideos(null);
+            sceneEditInfo.setBoxPhotos(null);
+            sceneEditInfo.setBoxModels(null);
+            sceneEditInfo.setEntry(null);
+            sceneEditInfo.setLoadingLogo(null);
+            sceneEditInfo.setFloorLogoFile(null);
+            sceneEditInfo.setFloorPlanUpload(null);
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditInfo), cachePath + "t_scene_edit_info.txt");
+
+            SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
+            sceneEditInfoExt.setFloorPlanAngle(0f);
+            sceneEditInfoExt.setFloorPlanCompass(0f);
+            sceneEditInfoExt.setTours(0);
+            sceneEditInfoExt.setMosaic(null);
+            sceneEditInfoExt.setWaterMark(null);
+            sceneEditInfoExt.setLinks(0);
+            sceneEditInfoExt.setFilters(0);
+            sceneEditInfoExt.setSurveillances(0);
+            sceneEditInfoExt.setShareLogoImg(null);
+            sceneEditInfoExt.setBillboards(0);
+            sceneEditInfoExt.setCutModel(0);
+            sceneEditInfoExt.setSnsInfo(null);
+            sceneEditInfoExt.setStarted(null);
+            sceneEditInfoExt.setSceneDraw(0);
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditInfoExt), cachePath + "t_scene_edit_info_ext.txt");
+
+            SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
+            sceneEditControls.setShowLock(0);
+            sceneEditControls.setShowScale(0);
+            sceneEditControls.setShowCameraTitle(0);
+            sceneEditControls.setShowLinkTitle(0);
+            sceneEditControls.setShowAllModel(0);
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditControls), cachePath + "t_scene_edit_controls.txt");
+
+            //生成sceneJson
+            SceneViewInfo sceneJson = new SceneViewInfo();
+            BeanUtil.copyProperties(sceneEditInfoExt, sceneJson);
+            BeanUtil.copyProperties(sceneEditInfo, sceneJson);
+            SceneEditControlsVO sceneEditControlsVO = BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class);
+            sceneJson.setControls(sceneEditControlsVO);
+            sceneJson.setNum(num);
+            sceneJson.setCreateTime(scenePlus.getCreateTime());
+
+            sceneJson.setSceneResolution(scenePlusExt.getSceneResolution());
+            sceneJson.setSceneFrom(scenePlusExt.getSceneFrom());
+            sceneJson.setSceneKind(scenePlusExt.getSceneKind());
+            if(StrUtil.isNotEmpty(scenePlusExt.getVideos())){
+                sceneJson.setVideos(scenePlusExt.getVideos());
+            }
+            sceneJson.setModelKind(scenePlusExt.getModelKind());
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneJson), cachePath + "scene.json");
+
+
+            //redis
+//            Map<String, String> hotdataStr = redisUtil.hmget(String.format(RedisKey.SCENE_HOT_DATA, num));
+//            if(CollUtil.isNotEmpty(hotdataStr)){
+//                Map<String, JSONObject> hotdata = hotdataStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(hotdata), cachePath + "hotdata.json");
+//            }
+//
+//            Set<String> hoticons = redisUtil.sGet(String.format(RedisKey.SCENE_HOT_ICONS, num));
+//            if(CollUtil.isNotEmpty(hoticons)){
+//                FileUtil.writeUtf8String(JSON.toJSONString(hoticons), cachePath + "hoticons.json");
+//            }
+//
+//            Map<String, String> LinkPanStr = redisUtil.hmget(String.format(RedisKey.SCENE_LINKPAN_DATA, num));
+//            if(CollUtil.isNotEmpty(LinkPanStr)){
+//                Map<String, JSONObject> linkPan = LinkPanStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(linkPan), cachePath + "linkPan.json");
+//            }
+//
+//            Map<String, String> LinkPanStylesStr = redisUtil.hmget(String.format(RedisKey.SCENE_LINKPAN_STYLES, num));
+//            if(CollUtil.isNotEmpty(LinkPanStylesStr)){
+//                Map<String, JSONObject> LinkPanStyles = LinkPanStylesStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(LinkPanStyles), cachePath + "LinkPanStyles.json");
+//            }
+//
+//            Map<String, String> billboardsStr = redisUtil.hmget(String.format(RedisKey.SCENE_BILLBOARDS, num));
+//            if(CollUtil.isNotEmpty(billboardsStr)){
+//                Map<String, JSONObject> billboards = billboardsStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(billboards), cachePath + "billboards.json");
+//            }
+//
+//            Map<String, String> billboardsStylesStr = redisUtil.hmget(String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num));
+//            if(CollUtil.isNotEmpty(billboardsStylesStr)){
+//                Map<String, JSONObject> billboardsStyles = billboardsStylesStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(billboardsStyles), cachePath + "billboardsStyles.json");
+//            }
+//
+//            Map<String, String> cutModelStr = redisUtil.hmget(String.format(RedisKey.SCENE_CUT_MODEL, num));
+//            if(CollUtil.isNotEmpty(cutModelStr)){
+//                Map<String, JSONObject> cutModel = cutModelStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(cutModel), cachePath + "cutModel.json");
+//            }
+//
+//            Map<String, String> mosaicStr = redisUtil.hmget(String.format(RedisKey.SCENE_MOSAIC_DATA, num));
+//            if(CollUtil.isNotEmpty(mosaicStr)){
+//                Map<String, JSONObject> mosaic = mosaicStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(mosaic), cachePath + "mosaic.json");
+//            }
+//
+//            List<String> filterStr = redisUtil.lGet(String.format(RedisKey.SCENE_filter_DATA, num), 0, -1);
+//            if(CollUtil.isNotEmpty(filterStr)){
+//                List<JSONObject> filter = filterStr.stream().map(v -> JSONUtil.parseObj(v)).collect(Collectors.toList());
+//                FileUtil.writeUtf8String(JSON.toJSONString(filter), cachePath + "filter.json");
+//            }
+//
+//            Map<String, String> drawStr = redisUtil.hmget(String.format(RedisKey.SCENE_DRAW, num));
+//            if(CollUtil.isNotEmpty(drawStr)){
+//                Map<String, JSONObject> draw = drawStr.entrySet().stream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> JSONUtil.parseObj(entry.getValue())));
+//                FileUtil.writeUtf8String(JSON.toJSONString(draw), cachePath + "draw.json");
+//            }
+
+            //下载计算资源
+            if(fYunFileService.fileExist(String.format(UploadFilePath.scene_result_data_path, num) + "data.json")){
+                fYunFileService.downloadFile(String.format(UploadFilePath.scene_result_data_path, num) + "data.json", cachePath + "data.json");
+            }else{
+                FileUtil.writeUtf8String("", cachePath + "data.json");
+            }
+            if(fYunFileService.fileExist(String.format(UploadFilePath.scene_result_data_path, num) + "project.json")){
+                fYunFileService.downloadFile(String.format(UploadFilePath.scene_result_data_path, num) + "project.json", cachePath + "project.json");
+            }else{
+                FileUtil.writeUtf8String("", cachePath + "project.json");
+            }
+        }catch (Exception e){
+            log.error("下载缓存数据出错,", e);
+        }
+    }
+
     private void zipBat(String num, String version) throws Exception{
         String batContent = String.format(this.exeContent, num);
         if("v3".equals(version)){

+ 26 - 0
src/main/java/com/fdkankan/download/service/impl/SceneEditControlsServiceImpl.java

@@ -0,0 +1,26 @@
+package com.fdkankan.download.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.download.entity.SceneEditControls;
+import com.fdkankan.download.mapper.ISceneEditControlsMapper;
+import com.fdkankan.download.service.ISceneEditControlsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+@Service
+public class SceneEditControlsServiceImpl extends ServiceImpl<ISceneEditControlsMapper, SceneEditControls> implements ISceneEditControlsService {
+
+    @Override
+    public SceneEditControls getBySceneEditId(long sceneEditInfoId) {
+        return this.getOne(new LambdaQueryWrapper<SceneEditControls>()
+                .eq(SceneEditControls::getEditInfoId, sceneEditInfoId));
+    }
+}

+ 27 - 0
src/main/java/com/fdkankan/download/service/impl/SceneEditInfoExtServiceImpl.java

@@ -0,0 +1,27 @@
+package com.fdkankan.download.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.download.entity.SceneEditInfoExt;
+import com.fdkankan.download.mapper.ISceneEditInfoExtMapper;
+import com.fdkankan.download.service.ISceneEditInfoExtService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2022-03-07
+ */
+@Service
+public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMapper, SceneEditInfoExt> implements ISceneEditInfoExtService {
+
+
+    @Override
+    public SceneEditInfoExt getByEditInfoId(long editInfoId) {
+        return this.getOne(new LambdaQueryWrapper<SceneEditInfoExt>().eq(SceneEditInfoExt::getEditInfoId, editInfoId));
+    }
+
+}

+ 30 - 0
src/main/java/com/fdkankan/download/service/impl/SceneEditInfoServiceImpl.java

@@ -0,0 +1,30 @@
+package com.fdkankan.download.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.download.entity.SceneEditInfo;
+import com.fdkankan.download.mapper.ISceneEditInfoMapper;
+import com.fdkankan.download.service.ISceneEditInfoService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2022-01-18
+ */
+@Slf4j
+@RefreshScope
+@Service
+public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper, SceneEditInfo> implements ISceneEditInfoService {
+
+    @Override
+    public SceneEditInfo getByScenePlusId(long scenePlusId) {
+        return this.getOne(new LambdaQueryWrapper<SceneEditInfo>()
+            .eq(SceneEditInfo::getScenePlusId, scenePlusId));
+    }
+}