dengsixing 1 年之前
父節點
當前提交
357601f343
共有 22 個文件被更改,包括 4386 次插入24 次删除
  1. 1 1
      src/main/java/com/fdkankan/scene/controller/OssFileMappingController.java
  2. 22 21
      src/main/java/com/fdkankan/scene/controller/SceneEditController.java
  3. 1 1
      src/main/java/com/fdkankan/scene/entity/Scene.java
  4. 174 0
      src/main/java/com/fdkankan/scene/entity/SceneEditControls.java
  5. 204 0
      src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java
  6. 162 0
      src/main/java/com/fdkankan/scene/entity/SceneEditInfoExt.java
  7. 1 1
      src/main/java/com/fdkankan/scene/generator/AutoGenerate.java
  8. 18 0
      src/main/java/com/fdkankan/scene/mapper/SceneEditControlsMapper.java
  9. 18 0
      src/main/java/com/fdkankan/scene/mapper/SceneEditInfoExtMapper.java
  10. 18 0
      src/main/java/com/fdkankan/scene/mapper/SceneEditInfoMapper.java
  11. 18 0
      src/main/java/com/fdkankan/scene/service/SceneEditControlsService.java
  12. 28 0
      src/main/java/com/fdkankan/scene/service/SceneEditInfoExtService.java
  13. 99 0
      src/main/java/com/fdkankan/scene/service/SceneEditInfoService.java
  14. 27 0
      src/main/java/com/fdkankan/scene/service/impl/SceneEditControlsServiceImpl.java
  15. 399 0
      src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java
  16. 2867 0
      src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  17. 134 0
      src/main/java/com/fdkankan/scene/vo/SceneEditControlsParamVO.java
  18. 88 0
      src/main/java/com/fdkankan/scene/vo/SceneEditInfoParamVO.java
  19. 92 0
      src/main/java/com/fdkankan/scene/vo/SceneEditInfoVO.java
  20. 5 0
      src/main/resources/mapper/scene.generator/SceneEditControlsMapper.xml
  21. 5 0
      src/main/resources/mapper/scene.generator/SceneEditInfoExtMapper.xml
  22. 5 0
      src/main/resources/mapper/scene.generator/SceneEditInfoMapper.xml

+ 1 - 1
src/main/java/com/fdkankan/scene/controller/OssFileMappingController.java

@@ -25,7 +25,7 @@ public class OssFileMappingController {
                               @PathVariable("fileName") String fileName,
                               HttpServletRequest request,
                               HttpServletResponse response) throws IOException {
-        String key = request.getServletPath().replaceFirst("/", "");
+        String key = request.getServletPath().replaceFirst("/", "").replace("scene_edit_data", "scene_view_data");
         sceneService.outFileByKey2(key, response);
     }
 

+ 22 - 21
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -1,12 +1,13 @@
 package com.fdkankan.scene.controller;
 
 import com.fdkankan.scene.service.ISceneUploadService;
+import com.fdkankan.scene.service.SceneEditInfoService;
+import com.fdkankan.scene.vo.SceneEditInfoParamVO;
+import com.fdkankan.scene.vo.SceneEditInfoVO;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 /**
@@ -22,8 +23,8 @@ public class SceneEditController{
 //
 //    @Autowired
 //    private ISceneProService sceneProService;
-//    @Autowired
-//    private ISceneEditInfoService sceneEditInfoService;
+    @Autowired
+    private SceneEditInfoService sceneEditInfoService;
     @Autowired
     private ISceneUploadService sceneUploadService;
 //    @Autowired
@@ -42,21 +43,21 @@ public class SceneEditController{
 //    private ISceneEditInfoExtService sceneEditInfoExtService;
 //    @Autowired
 //    private ICutModelService cutModelService;
-//
-//    /**
-//     * <p>
-//     保存场景编辑数据
-//     * </p>
-//     * @author dengsixing
-//     * @date 2022/1/12
-//     * @param param
-//     * @return com.fdkankan.web.response.ResultData
-//     **/
-//    @CheckPermit
-//    @PostMapping(value = "/base/save")
-//    public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
-//        return sceneEditInfoService.saveScene(param);
-//    }
+
+    /**
+     * <p>
+     保存场景编辑数据
+     * </p>
+     * @author dengsixing
+     * @date 2022/1/12
+     * @param param
+     * @return com.fdkankan.web.response.ResultData
+     **/
+//    @CheckPermit
+    @PostMapping(value = "/base/save")
+    public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
+        return sceneEditInfoService.saveScene(param);
+    }
 //
 //    /**
 //     * <p>

+ 1 - 1
src/main/java/com/fdkankan/scene/entity/Scene.java

@@ -27,7 +27,7 @@ public class Scene extends Model<Scene> {
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "ID", type = IdType.AUTO)
-    private String id;
+    private Long id;
 
     @TableField("TITLE")
     private String title;

+ 174 - 0
src/main/java/com/fdkankan/scene/entity/SceneEditControls.java

@@ -0,0 +1,174 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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 java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+@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 Integer 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-需要)
+     */
+    @TableId(value = "show_title", type = IdType.AUTO)
+    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;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * A-有效,I-无效
+     */
+    @TableField("rec_status")
+    @TableLogic
+    private String recStatus;
+
+
+}

+ 204 - 0
src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java

@@ -0,0 +1,204 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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 java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+@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大小
+     */
+    @TableId(value = "floor_logo_size", type = IdType.AUTO)
+    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;
+
+    /**
+     * 用户是否上传户型图(0-否,1-是)
+     */
+    @TableField("floor_plan_user")
+    private Integer floorPlanUser;
+
+    /**
+     * 是否有热点数据(0-否,1-是)
+     */
+    @TableField("tags")
+    private Integer tags;
+
+    /**
+     * 版本
+     */
+    @TableField("version")
+    private Integer version;
+
+    /**
+     * 图片版本
+     */
+    @TableField("img_version")
+    private Integer imgVersion;
+
+    /**
+     * 场景关联版本
+     */
+    @TableField("link_version")
+    private Integer linkVersion;
+
+    /**
+     * 是否上传模型
+     */
+    @TableField("is_upload_obj")
+    private Integer 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 Integer 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
+    private String recStatus;
+
+
+}

+ 162 - 0
src/main/java/com/fdkankan/scene/entity/SceneEditInfoExt.java

@@ -0,0 +1,162 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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 java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+@Getter
+@Setter
+@TableName("t_scene_edit_info_ext")
+public class SceneEditInfoExt 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;
+
+    @TableField("edit_info_id")
+    private Long editInfoId;
+
+    /**
+     * 户型角度
+     */
+    @TableId(value = "floor_plan_angle", type = IdType.AUTO)
+    private String floorPlanAngle;
+
+    /**
+     * 指南针角度
+     */
+    @TableField("floor_plan_compass")
+    private String floorPlanCompass;
+
+    /**
+     * 大场景序号(随心装场景码)  原pro_edit表中的字段
+     */
+    @TableField("vr_num")
+    private String vrNum;
+
+    /**
+     * 是否有保存导览(0-否,1-是)
+     */
+    @TableField("tours")
+    private Integer tours;
+
+    /**
+     * 马赛克数据
+     */
+    @TableField("mosaics")
+    private String mosaics;
+
+    /**
+     * 是否有马赛克
+     */
+    @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;
+
+    /**
+     * 风格滤镜数据
+     */
+    @TableField("roi_filter")
+    private String roiFilter;
+
+    /**
+     * 是否有监控摄像头(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;
+
+    /**
+     * 分享配置
+     */
+    @TableField("sns_info")
+    private String snsInfo;
+
+    /**
+     * 启动页信息
+     */
+    @TableField("started")
+    private String started;
+
+    /**
+     * 是否有空间绘制
+     */
+    @TableField("scene_draw")
+    private Integer sceneDraw;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * A-有效,I-无效
+     */
+    @TableField("rec_status")
+    @TableLogic
+    private String recStatus;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/scene/generator/AutoGenerate.java

@@ -21,7 +21,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"scene.generator", getTables(new String[]{
-                "t_scene_view_log"
+                "t_scene_edit_info","t_scene_edit_info_ext","t_scene_edit_controls"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/SceneEditControlsMapper.java

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

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/SceneEditInfoExtMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.SceneEditInfoExt;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+@Mapper
+public interface SceneEditInfoExtMapper extends BaseMapper<SceneEditInfoExt> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/SceneEditInfoMapper.java

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

+ 18 - 0
src/main/java/com/fdkankan/scene/service/SceneEditControlsService.java

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

+ 28 - 0
src/main/java/com/fdkankan/scene/service/SceneEditInfoExtService.java

@@ -0,0 +1,28 @@
+package com.fdkankan.scene.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.entity.SceneEditInfoExt;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+public interface SceneEditInfoExtService extends IService<SceneEditInfoExt> {
+    SceneEditInfoExt getByScenePlusId(long scenePlusId);
+
+    SceneEditInfoExt getByEditInfoId(long editInfoId);
+
+//    void updateToursByNum(String num, Integer tours);
+//
+//    ResultData saveBillboards(BaseJsonArrayParamVO param) throws Exception;
+//
+//    ResultData deleteBillboards(DeleteSidListParamVO param) throws Exception;
+//
+//    JSONObject listBillboards(BaseSceneParamVO param) throws Exception;
+//
+//    ResultData deleteBillboardsStyles(DeleteStylesParamVO param) throws Exception;
+}

+ 99 - 0
src/main/java/com/fdkankan/scene/service/SceneEditInfoService.java

@@ -0,0 +1,99 @@
+package com.fdkankan.scene.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.scene.entity.SceneEditInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.vo.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+public interface SceneEditInfoService extends IService<SceneEditInfo> {
+
+    SceneEditInfoVO saveScene(SceneEditInfoParamVO param);
+
+//    SceneEditInfo getBySceneProId(long sceneProId);
+
+    SceneEditInfo getByScenePlusId(long scenePlusId);
+//
+//    ResultData publicScene(SceneEditInfoParamVO param) throws Exception;
+//
+//    SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception;
+//
+////    ResultData saveUpload(SaveUploadParamVO param) throws Exception;
+//
+//    ResultData saveCad(BaseDataParamVO param) throws Exception;
+//
+//    ResultData uploadDxf(MultipartFile file, String num) throws Exception;
+//
+//    ResultData downloadDxf(String num) throws Exception;
+//
+//    ResultData resetCad(String num) throws IOException;
+//
+//    ResultData renameCad(RenameCadParamVO param) throws IOException;
+//
+//    void upgradeVersionById(Long id);
+//
+//    void upgradeVersionAndImgVersionById(Long id);
+//
+//    void upgradeSceneJsonVersion(String num, int version, Integer imgVersion, String bucket) throws IOException ;
+//
+//    ResultData uploadPanorama(String num, MultipartFile file) throws Exception;
+//
+//    ResultData downloadPanorama(FileParamVO param) throws Exception;
+//
+//    void saveTagsToSceneEditInfo(String num, SceneEditInfo sceneEditInfo);
+//
+//    ResultData saveVideoBox(FileNameAndDataParamVO param) throws Exception;
+//
+//    ResultData deleteVideoBox(DeleteSidParamVO param) throws Exception;
+//
+//    ResultData saveBoxPhoto(BaseDataParamVO param) throws Exception;
+//
+//    ResultData deleteBoxPhoto(DeleteSidParamVO param) throws Exception;
+//
+//    DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param);
+//
+//    ResultData uploadBallScreenVideo(String num,String fileName,MultipartFile file) throws Exception;
+//
+//    void upgradeVersionToSceneJson(String num, String bucket) throws Exception;
+//
+//    ResultData sceneSync(String num, String type, String floorPlanJson, String ajkJson, String cameraJson, MultipartFile[] files) throws Exception;
+//
+//    ResultData checkKey(SceneCheckKeyParamVO param) throws Exception;
+//
+//    ResultData addMosaics(BaseDataParamVO param) throws Exception;
+//
+//    ResultData uploadLinkPan(String num, String sid, String fileName, MultipartFile file) throws Exception;
+//
+//    ResultData saveLinkPan(SaveLinkPanParamVO param) throws Exception;
+//
+//    ResultData listLinkPan(String num) throws Exception;
+//
+//    ResultData deleteLinkPan(DeleteLinkPanParamVO param) throws Exception;
+//
+//    ResultData deleteStyles(DeleteStylesParamVO param) throws Exception;
+//
+//    ResultData deleteMosaics(DeleteMosaicParamVO param) throws Exception;
+//
+//    List<JSONObject> getMosaicList(String num) throws Exception;
+//
+//    ResultData addWaterMark(BaseFileParamVO param) throws Exception;
+//
+//    ResultData deleteWaterMark(BaseFileParamVO param) throws Exception;
+//
+//    ResultData saveFilter(SaveFiltersParamVO param) throws Exception;
+//
+//    ResultData listFilter(BaseSceneParamVO param) throws Exception;
+
+
+}

+ 27 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEditControlsServiceImpl.java

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

+ 399 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java

@@ -0,0 +1,399 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.scene.entity.SceneEditInfoExt;
+import com.fdkankan.scene.mapper.SceneEditInfoExtMapper;
+import com.fdkankan.scene.service.SceneEditInfoExtService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-10-09
+ */
+@Service
+public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMapper, SceneEditInfoExt> implements SceneEditInfoExtService {
+//    @Autowired
+//    private IScenePlusService scenePlusService;
+//    @Autowired
+//    private IScenePlusExtService scenePlusExtService;
+//    @Autowired
+//    private ISceneEditInfoService sceneEditInfoService;
+//    @Autowired
+//    private RedisUtil redisUtil;
+//    @Autowired
+//    private RedisLockUtil redisLockUtil;
+//    @Autowired
+//    private FYunFileServiceInterface fYunFileService;
+//    @Autowired
+//    private ISceneUploadService sceneUploadService;
+
+    @Override
+    public SceneEditInfoExt getByScenePlusId(long scenePlusId) {
+        return this.getOne(new LambdaQueryWrapper<SceneEditInfoExt>().eq(SceneEditInfoExt::getScenePlusId, scenePlusId));
+    }
+
+    @Override
+    public SceneEditInfoExt getByEditInfoId(long editInfoId) {
+        return this.getOne(new LambdaQueryWrapper<SceneEditInfoExt>().eq(SceneEditInfoExt::getEditInfoId, editInfoId));
+    }
+
+//    @Override
+//    public void updateToursByNum(String num, Integer tours) {
+//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+//        if(Objects.isNull(scenePlus)){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+//        }
+//        SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+//        sceneEditInfoService.upgradeVersionById(sceneEditInfo.getId());
+//        SceneEditInfoExt sceneEditInfoExt = this.getByEditInfoId(sceneEditInfo.getId());
+//        sceneEditInfoExt.setTours(tours);
+//        this.updateById(sceneEditInfoExt);
+//    }
+//
+//    @Override
+//    public ResultData saveBillboards(BaseJsonArrayParamVO param) throws Exception {
+//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+//
+//        this.addOrUpdateBillboards(param.getNum(), param.getData());
+//
+//        this.addOrUpdateBillboardsStyles(param.getNum(), param.getStyles());
+//
+//        //保存数据库
+//        SceneEditInfoExt sceneEditInfoExt = this.getByScenePlusId(scenePlus.getId());
+//        this.updateBillboards(param.getNum(), sceneEditInfoExt);
+////        this.updateById(sceneEditInfoExt);
+//
+//        sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
+//
+//        return ResultData.ok();
+//    }
+//
+//    private void addOrUpdateBillboardsStyles(String num, List<JSONObject> styles) throws Exception{
+//
+//        this.syncBillboardsStylesFromFileToRedis(num);
+//
+//        if(CollUtil.isEmpty(styles)){
+//            return;
+//        }
+//
+//        long time = Calendar.getInstance().getTimeInMillis();
+//        Map<String, String> styleMap = new HashMap<>();
+//        AtomicInteger index = new AtomicInteger();
+//        styles.stream().forEach(style->{
+//            String id = style.getString("sid");
+//            style.put("createTime", time + index.getAndIncrement());
+//            styleMap.put(id, style.toJSONString());
+//        });
+//
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num);
+//        redisUtil.hmset(key, styleMap);
+//
+//        //写入本地文件,作为备份
+//        this.writeBillboardStylesJson(num);
+//    }
+//
+//    private void syncBillboardsStylesFromFileToRedis(String num) throws Exception{
+//
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num);
+//        boolean exist = redisUtil.hasKey(key);
+//        if(exist){
+//            return;
+//        }
+//        String lockKey = String.format(RedisLockKey.LOCK_BILLBOARDS_STYLES_SYNC, num);
+//        String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
+//        boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
+//        if(!lock){
+//            throw new BusinessException(ErrorCode.SYSTEM_BUSY);
+//        }
+//        try{
+//            exist = redisUtil.hasKey(key);
+//            if(exist){
+//                return;
+//            }
+//            String stylesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+//            String stylesData = FileUtils.readUtf8String(stylesPath + "billboards-styles.json");
+//            if(StrUtil.isEmpty(stylesData)){
+//                return;
+//            }
+//            JSONArray stylesArr = JSON.parseArray(stylesData);
+//            if(CollUtil.isEmpty(stylesArr)){
+//                return;
+//            }
+//            Map<String, String> styleMap = new HashMap<>();
+//            for (Object style : stylesArr) {
+//                JSONObject styleObj = (JSONObject)style;
+//                String id = styleObj.getString("sid");
+//                styleMap.put(id, styleObj.toJSONString());
+//            }
+//            redisUtil.hmset(key, styleMap);
+//        }finally {
+//            redisLockUtil.unlockLua(lockKey, lockVal);
+//        }
+//
+//    }
+//
+//    @Override
+//    public ResultData deleteBillboards(DeleteSidListParamVO param) throws Exception {
+//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+//        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+//        String bucket = scenePlusExt.getYunFileBucket();
+//
+//        List<String> deleteSidList = param.getSidList();
+//
+//        this.syncBillboardsFromFileToRedis(param.getNum());
+//
+//        //处理删除状态数据
+//        this.deleteBillboards(param.getNum(), deleteSidList, bucket);
+//
+//        //写入本地文件,作为备份
+//        this.writeBillboardJson(param.getNum());
+//
+//        //保存数据库
+//        SceneEditInfoExt sceneEditInfoExt = this.getByScenePlusId(scenePlus.getId());
+//        this.updateBillboards(param.getNum(), sceneEditInfoExt);
+//        sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
+//
+//        return ResultData.ok();
+//    }
+//
+//    @Override
+//    public JSONObject listBillboards(BaseSceneParamVO param) throws Exception {
+//
+//        JSONObject result = new JSONObject();
+//        List<JSONObject> tags = new ArrayList<>();
+//        List<JSONObject> styles = new ArrayList<>();
+//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+//        SceneEditInfoExt sceneEditInfoExt = this.getByScenePlusId(scenePlus.getId());
+//
+//        this.syncBillboardsFromFileToRedis(param.getNum());
+//
+//        //获取指示牌数据
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS, param.getNum());
+//        List<String> list = redisUtil.hgetValues(key);
+//        if(CollUtil.isNotEmpty(list)){
+//            List<TagBean> sortList = list.stream().map(str -> {
+//                JSONObject jsonObject = JSON.parseObject(str);
+//                TagBean tagBean = new TagBean();
+//                tagBean.setCreateTime(jsonObject.getLong("createTime"));
+//                jsonObject.remove("createTime");
+//                tagBean.setTag(jsonObject);
+//                return tagBean;
+//            }).collect(Collectors.toList());
+//            sortList.sort(Comparator.comparingLong(TagBean::getCreateTime).reversed());
+//            tags = sortList.stream().map(item -> item.getTag()).collect(Collectors.toList());
+//        }
+//        result.put("tags", tags);
+//
+//        //获取图标数据
+//        this.syncBillboardsStylesFromFileToRedis(param.getNum());
+//        key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
+//        List<String> sytlelist = redisUtil.hgetValues(key);
+//        if(CollUtil.isNotEmpty(sytlelist)){
+//            List<TagBean> stileSortList = sytlelist.stream().map(str -> {
+//                JSONObject jsonObject = JSON.parseObject(str);
+//                TagBean tagBean = new TagBean();
+//                tagBean.setCreateTime(jsonObject.getLong("createTime"));
+//                jsonObject.remove("createTime");
+//                tagBean.setTag(jsonObject);
+//                return tagBean;
+//            }).collect(Collectors.toList());
+//            stileSortList.sort(Comparator.comparingLong(TagBean::getCreateTime).reversed());
+//            styles = stileSortList.stream().map(item -> item.getTag()).collect(Collectors.toList());
+//        }
+//        result.put("styles", styles);
+//
+//        return result;
+//    }
+//
+//    private void deleteBillboards(String num, List<String> deleteSidList, String bucket) throws Exception {
+//        if(CollUtil.isEmpty(deleteSidList)){
+//            return;
+//        }
+//
+//        //从redis中加载热点数据
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+//        List<String> deletDataList = redisUtil.hMultiGet(key, deleteSidList);
+//        if(CollUtil.isEmpty(deletDataList))
+//            return;
+//        //从redis中移除热点数据
+//        redisUtil.hdel(key, deleteSidList.toArray());
+//    }
+//
+//    private void addOrUpdateBillboards(String num, List<JSONObject> data) throws Exception{
+//        Map<String, String> addOrUpdateMap = new HashMap<>();
+//        int i = 0;
+//        for (JSONObject jsonObject : data) {
+//            jsonObject.put("createTime", Calendar.getInstance().getTimeInMillis() + i++);
+//            addOrUpdateMap.put(jsonObject.getString("sid"), JSON.toJSONString(jsonObject));
+//        }
+//
+//        this.syncBillboardsFromFileToRedis(num);
+//
+//        //处理新增和修改数据
+//        this.addOrUpdateBillboardsHandler(num, addOrUpdateMap);
+//    }
+//
+//    /**
+//     * <p>
+//     保证指示牌数据安全性,当redis宕机导致热点数据丢失时,可以从文件中读取,恢复到redis
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/3/3
+//     **/
+//    private void syncBillboardsFromFileToRedis(String num) throws Exception{
+//
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+//        boolean exist = redisUtil.hasKey(key);
+//        if(exist){
+//            return;
+//        }
+//        String lockKey = String.format(RedisLockKey.LOCK_BILLBOARDS_SYNC, num);
+//        String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
+//        boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
+//        if(!lock){
+//            throw new BusinessException(ErrorCode.SYSTEM_BUSY);
+//        }
+//        try{
+//            exist = redisUtil.hasKey(key);
+//            if(exist){
+//                return;
+//            }
+//            String billboardsFilePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards.json";
+//            String billboardsData = FileUtils.readUtf8String(billboardsFilePath);
+//            if(StrUtil.isEmpty(billboardsData)){
+//                return;
+//            }
+//            JSONArray tagsArr = JSON.parseArray(billboardsData);
+//            if(CollUtil.isEmpty(tagsArr)){
+//                return;
+//            }
+//            Map<String, String> map = new HashMap<>();
+//            for (Object o : tagsArr) {
+//                JSONObject jo = (JSONObject)o;
+//                map.put(jo.getString("sid"), jo.toJSONString());
+//            }
+//            redisUtil.hmset(key, map);
+//        }finally {
+//            redisLockUtil.unlockLua(lockKey, lockVal);
+//        }
+//    }
+//
+//    private void addOrUpdateBillboardsHandler(String num, Map<String, String> addOrUpdateMap){
+//        if(CollUtil.isEmpty(addOrUpdateMap))
+//            return;
+//
+//        //批量写入缓存
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+//        redisUtil.hmset(key, addOrUpdateMap);
+//
+//        //写入本地文件,作为备份
+//        this.writeBillboardJson(num);
+//    }
+//
+//    /**
+//     * <p>
+//     热点数据保存
+//
+//     * </p>
+//     * @author dengsixing
+//     * @date 2022/3/3
+//     *
+//     **/
+//    private void writeBillboardJson(String num){
+//        String lockKey = String.format(RedisLockKey.LOCK_BILLBOARDS_SYNC, num);
+//        String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
+//        boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
+//        if(!lock){
+//            return;
+//        }
+//        try{
+//            String dataKey = String.format(RedisKey.SCENE_BILLBOARDS, num);
+//            String hotJsonPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards.json";
+//            if(!redisUtil.hasKey(dataKey)){
+//                FileUtil.del(hotJsonPath);
+//                return;
+//            }
+//            Map<String, String> billboardMap = redisUtil.hmget(dataKey);
+//            List<JSONObject>  billboardList = billboardMap.entrySet().stream().map(entry->JSON.parseObject(entry.getValue())).collect(Collectors.toList());
+//            FileUtil.writeUtf8String(JSON.toJSONString(billboardList), hotJsonPath);
+//        }finally {
+//            redisLockUtil.unlockLua(lockKey, lockVal);
+//        }
+//    }
+//
+//    private void writeBillboardStylesJson(String num){
+//        String lockKey = String.format(RedisLockKey.LOCK_BILLBOARDS_STYLES_SYNC, num);
+//        String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
+//        boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
+//        if(!lock){
+//            return;
+//        }
+//        try{
+//            String dataKey = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num);
+//            String stylesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "billboards-styles.json";
+//            if(!redisUtil.hasKey(dataKey)){
+//                FileUtil.del(stylesPath);
+//                return;
+//            }
+//            Map<String, String> billboardStylesMap = redisUtil.hmget(dataKey);
+//            List<JSONObject>  billboardStyleList = billboardStylesMap.entrySet().stream().map(entry->JSON.parseObject(entry.getValue())).collect(Collectors.toList());
+//            FileUtil.writeUtf8String(JSON.toJSONString(billboardStyleList), stylesPath);
+//        }finally {
+//            redisLockUtil.unlockLua(lockKey, lockVal);
+//        }
+//    }
+//
+//    private void updateBillboards(String num, SceneEditInfoExt sceneEditInfoExt){
+//        //查询缓存是否包含热点数据
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+//        Map<String, String> billboardsMap = redisUtil.hmget(key);
+//        boolean hashBillboards= false;
+//        for (Map.Entry<String, String> tagMap : billboardsMap.entrySet()) {
+//            if(StrUtil.isEmpty(tagMap.getValue())){
+//                continue;
+//            }
+//            hashBillboards = true;
+//            break;
+//        }
+//
+//        //更改热点状态
+//        sceneEditInfoExt.setBillboards(hashBillboards ? CommonStatus.YES.code().intValue() : CommonStatus.NO.code().intValue());
+//        this.updateById(sceneEditInfoExt);
+//    }
+//
+//    @Override
+//    public ResultData deleteBillboardsStyles(DeleteStylesParamVO param) throws Exception {
+//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+//        if (scenePlus == null)
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+//
+//        List<String> sidList = param.getSidList();
+//
+//        this.syncBillboardsStylesFromFileToRedis(param.getNum());
+//
+//        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
+//        List<String> deleteList = redisUtil.hMultiGet(key, sidList);
+//        redisUtil.hdel(key, sidList.toArray());
+//
+//        //写入本地文件,作为备份
+//        this.writeBillboardStylesJson(param.getNum());
+//
+//        //删除oss文件
+//        List<String> deleteFileList = deleteList.stream().map(str -> {
+//            JSONObject parse = JSON.parseObject(str);
+//            return parse.getString("url");
+//        }).collect(Collectors.toList());
+//        sceneUploadService.delete(
+//                DeleteFileParamVO.builder()
+//                        .num(param.getNum())
+//                        .fileNames(deleteFileList)
+//                        .bizType(FileBizType.BILLBOARD_ICON.code()).build());
+//
+//        return ResultData.ok();
+//    }
+}

File diff suppressed because it is too large
+ 2867 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java


+ 134 - 0
src/main/java/com/fdkankan/scene/vo/SceneEditControlsParamVO.java

@@ -0,0 +1,134 @@
+package com.fdkankan.scene.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/1/18
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SceneEditControlsParamVO implements Serializable {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * t_scene_edit_info表id
+     */
+    private Long editInfoId;
+
+    /**
+     * 是否展示小地图(0-不展示,1-展示)
+     */
+    private Integer showMap;
+
+    /**
+     * 是否需要密码(0-不需要,1-需要)
+     */
+    private Integer showLock;
+
+    /**
+     * 是否展示标题(0-不需要,1-需要)
+     */
+    private Integer showTitle;
+
+    /**
+     * 是否展示漫游按钮(0-不需要,1-需要)
+     */
+    private Integer showPanorama;
+
+    /**
+     * 是否展示3D按钮(0-不需要,1-需要)
+     */
+    private Integer showDollhouse;
+
+    /**
+     * 是否展示2D按钮(0-不需要,1-需要)
+     */
+    private Integer showFloorplan;
+
+    /**
+     * 是否展示VR(0-不需要,1-需要)
+     */
+    private Integer showVR;
+
+    /**
+     * 是否展示自动导览(0-不需要,1-需要)
+     */
+    private Integer showTour;
+
+    /**
+     * 是否展示测量线(0-不需要,1-需要)
+     */
+    private Integer showRule;
+
+    /**
+     * 是否展示标尺(0-不需要,1-需要)
+     */
+    private Integer showScale;
+
+    /**
+     * 是否展示分享场景(0-不需要,1-需要)
+     */
+    private Integer showShare;
+
+    /**
+     * 是否展示分享热点(0-不需要,1-需要)
+     */
+    private Integer showTagshare;
+
+    /**
+     * 是否展示合照开关(0-不需要,1-需要)
+     */
+    private Integer showCapture;
+
+    /**
+     * 多媒体标签标题
+     */
+    private Integer showTagTitle;
+
+    /**
+     * 指示牌标签标题
+     */
+    private Integer showBillboardTitle;
+
+    /**
+     * 视频监控标签标题
+     */
+    private Integer showCameraTitle;
+
+    /**
+     * 场景关联标签标题
+     */
+    private Integer showLinkTitle;
+
+    /**
+     * 空间绘制信息
+     */
+    private Integer showDrawTitle;
+
+    /**
+     * 是否显示全部模型
+     */
+    private Integer showAllModel;
+
+
+
+
+
+}

+ 88 - 0
src/main/java/com/fdkankan/scene/vo/SceneEditInfoParamVO.java

@@ -0,0 +1,88 @@
+package com.fdkankan.scene.vo;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SceneEditInfoParamVO extends BaseSceneParamVO{
+
+
+    private Long id;
+
+    private Long sceneProId;
+
+    /**
+     * 地面logo名称
+     */
+    private String floorLogo;
+
+    /**
+     * 地面logo大小
+     */
+    private Integer floorLogoSize;
+
+    /**
+     * 地面logo文件名称
+     */
+    private String floorLogoFile;
+
+    /**
+     * 背景音乐名称
+     */
+    private String music;
+
+    /**
+     * 背景音乐文件名称
+     */
+    private String musicFile;
+
+    /**
+     * 浏览密码
+     */
+    private String scenePassword;
+
+    /**
+     * 场景标题
+     */
+    private String title;
+
+    /**
+     * 场景描述
+     */
+    private String description;
+
+    /**
+     * 加载logo名
+     */
+    private String loadingLogo;
+
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
+    /**
+     * 用户上传自定义平面图数据
+     */
+    private String floorPlanUpload;
+
+    private SceneEditControlsParamVO controls;
+
+    /**
+     * 分享配置
+     */
+    private JSONObject sns;
+
+    /**
+     * 启动页信息
+     */
+    private JSONObject started;
+
+
+}

+ 92 - 0
src/main/java/com/fdkankan/scene/vo/SceneEditInfoVO.java

@@ -0,0 +1,92 @@
+package com.fdkankan.scene.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SceneEditInfoVO implements Serializable {
+
+    /**
+     * 场景码
+     */
+    private String num;
+
+    /**
+     * 地面logo名称
+     */
+    private String floorLogo;
+
+    /**
+     * 地面logo大小
+     */
+    private Integer floorLogoSize;
+
+    /**
+     * 地面logo文件名称
+     */
+    private String floorLogoFile;
+
+    /**
+     * 背景音乐名称
+     */
+    private String music;
+
+    /**
+     * 背景音乐文件名称
+     */
+    private String musicFile;
+
+    /**
+     * 浏览密码
+     */
+    private String scenePassword;
+
+    /**
+     * 场景标题
+     */
+    private String title;
+
+    /**
+     * 场景描述
+     */
+    private String description;
+
+    private SceneEditControlsVO controls;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 点位数量
+     */
+    private Integer panoCount;
+
+    /**
+     * 球幕视频数量
+     */
+    private Integer videoCount;
+
+    /**
+     * 加载logo名
+     */
+    private String loadingFile;
+
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
+
+
+
+}

+ 5 - 0
src/main/resources/mapper/scene.generator/SceneEditControlsMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.SceneEditControlsMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene.generator/SceneEditInfoExtMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.SceneEditInfoExtMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene.generator/SceneEditInfoMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.scene.mapper.SceneEditInfoMapper">
+
+</mapper>