Pārlūkot izejas kodu

Merge branch 'feature-stg需求-增加导出数据库表记录和缓存记录' into test

dengsixing 1 gadu atpakaļ
vecāks
revīzija
73c23bfa57

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

@@ -0,0 +1,174 @@
+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;
+
+
+
+    /**
+     * 创建时间
+     */
+    @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;
+
+
+}

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

@@ -0,0 +1,140 @@
+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;
+
+    /**
+     * 创建时间
+     */
+    @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;
+
+
+}

+ 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);
+
+}

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

@@ -17,12 +17,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 +245,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 +496,48 @@ 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);
+            ScenePlusExt scenePlusExt = scenePlusExtService.getByScenePlusId(scenePlus.getId());
+            SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+            SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
+            SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
+            FileUtil.writeUtf8String(JSON.toJSONString(scenePlus), cachePath + "t_scene_plus.txt");
+            FileUtil.writeUtf8String(JSON.toJSONString(scenePlusExt), cachePath + "t_scene_plus_ext.txt");
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditInfo), cachePath + "t_scene_edit_info.txt");
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditInfoExt), cachePath + "t_scene_edit_info_ext.txt");
+            FileUtil.writeUtf8String(JSON.toJSONString(sceneEditControls), cachePath + "t_scene_edit_controls.txt");
+
+            //redis
+            Map<String, String> hotdata = redisUtil.hmget(String.format(RedisKey.SCENE_HOT_DATA, num));
+            FileUtil.writeUtf8String(JSON.toJSONString(hotdata), cachePath + "hotdata.json");
+
+            Set<String> hoticons = redisUtil.sGet(String.format(RedisKey.SCENE_HOT_ICONS, num));
+            FileUtil.writeUtf8String(JSON.toJSONString(hoticons), cachePath + "hoticons.json");
+
+//            Set<String> hoticons = redisUtil.sGet(String.format(RedisKey.SCENE_HOT_ICONS, num));
+//            FileUtil.writeUtf8String(JSON.toJSONString(hoticons), cachePath + "hoticons.json");
+
+
+//            FileUtil.writeUtf8String(batContent, String.format(this.sourceLocal, num, exeName));
+        }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));
+    }
+}