dengsixing 1 سال پیش
والد
کامیت
615a2020a7

+ 31 - 0
src/main/java/com/fdkankan/common/constant/CommonStatus.java

@@ -0,0 +1,31 @@
+package com.fdkankan.common.constant;
+
+/**
+ * <p>
+        通用状态
+ * </p>
+ * @author dengsixing
+ * @date 2022/1/28
+ **/
+public enum CommonStatus {
+
+    NO((byte)0, "否"),
+    YES((byte)1, "是");
+
+    private Byte code;
+    private String message;
+
+    private CommonStatus(Byte code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public Byte code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+}

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

@@ -45,7 +45,7 @@ public class SceneController {
      * @param param
      * @return com.fdkankan.scene.vo.SceneInfoVO
      **/
-    @VrLog
+//    @VrLog
     @GetMapping(value = "/getInfo")
     public ResultData getInfo(@Validated SceneInfoParamVO param) throws Exception{
         param.setReqType(SceneInfoReqType.VIEW.code());

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

@@ -52,7 +52,7 @@ public class SceneEditControls implements Serializable {
     /**
      * 是否展示标题(0-不需要,1-需要)
      */
-    @TableId(value = "show_title", type = IdType.AUTO)
+    @TableField(value = "show_title")
     private Integer showTitle;
 
     /**
@@ -167,7 +167,7 @@ public class SceneEditControls implements Serializable {
      * A-有效,I-无效
      */
     @TableField("rec_status")
-    @TableLogic
+    @TableLogic(value = "A", delval = "I")
     private String recStatus;
 
 

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

@@ -46,7 +46,7 @@ public class SceneEditInfo implements Serializable {
     /**
      * 地面logo大小
      */
-    @TableId(value = "floor_logo_size", type = IdType.AUTO)
+    @TableField(value = "floor_logo_size")
     private Integer floorLogoSize;
 
     /**
@@ -197,7 +197,7 @@ public class SceneEditInfo implements Serializable {
      * A-有效,I-无效
      */
     @TableField("rec_status")
-    @TableLogic
+    @TableLogic(value = "A", delval = "I")
     private String recStatus;
 
 

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

@@ -40,7 +40,7 @@ public class SceneEditInfoExt implements Serializable {
     /**
      * 户型角度
      */
-    @TableId(value = "floor_plan_angle", type = IdType.AUTO)
+    @TableField(value = "floor_plan_angle")
     private String floorPlanAngle;
 
     /**
@@ -155,7 +155,7 @@ public class SceneEditInfoExt implements Serializable {
      * A-有效,I-无效
      */
     @TableField("rec_status")
-    @TableLogic
+    @TableLogic(value = "A", delval = "I")
     private String recStatus;
 
 

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

@@ -27,7 +27,7 @@ public interface SceneEditInfoService extends IService<SceneEditInfo> {
 //
 //    ResultData publicScene(SceneEditInfoParamVO param) throws Exception;
 //
-//    SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception;
+    SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception;
 //
 ////    ResultData saveUpload(SaveUploadParamVO param) throws Exception;
 //
@@ -84,8 +84,8 @@ public interface SceneEditInfoService extends IService<SceneEditInfo> {
 //    ResultData deleteStyles(DeleteStylesParamVO param) throws Exception;
 //
 //    ResultData deleteMosaics(DeleteMosaicParamVO param) throws Exception;
-//
-//    List<JSONObject> getMosaicList(String num) throws Exception;
+
+    List<JSONObject> getMosaicList(String num) throws Exception;
 //
 //    ResultData addWaterMark(BaseFileParamVO param) throws Exception;
 //

+ 86 - 83
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -3,9 +3,12 @@ package com.fdkankan.scene.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.SceneEditControls;
@@ -16,13 +19,14 @@ import com.fdkankan.scene.service.SceneEditControlsService;
 import com.fdkankan.scene.service.SceneEditInfoExtService;
 import com.fdkankan.scene.service.SceneEditInfoService;
 import com.fdkankan.scene.service.SceneService;
-import com.fdkankan.scene.vo.SceneEditInfoParamVO;
-import com.fdkankan.scene.vo.SceneEditInfoVO;
+import com.fdkankan.scene.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -109,6 +113,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
             this.updateById(sceneEditInfo);
         }
         SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
+        if(Objects.isNull(sceneEditInfoExt)){
+            sceneEditInfoExt = new SceneEditInfoExt();
+            sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
+            sceneEditInfoExt.setScenePlusId(scenePlus.getId());
+        }
         if(Objects.nonNull(param.getSns())){
             sceneEditInfoExt.setSnsInfo(JSON.toJSONString(param.getSns()));
         }
@@ -118,7 +127,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        else{
 //            sceneEditInfoExt.setStarted("");
 //        }
-        sceneEditInfoExtService.updateById(sceneEditInfoExt);
+        sceneEditInfoExtService.saveOrUpdate(sceneEditInfoExt);
 
         if(Objects.nonNull(param.getControls())){
             SceneEditControls sceneEditControls = BeanUtil.copyProperties(param.getControls(), SceneEditControls.class);
@@ -131,6 +140,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
             }
         }
 
+        scenePlus.setTitle(param.getTitle());
+        scenePlus.setDescription(param.getDescription());
+        sceneService.updateById(scenePlus);
+
         SceneEditInfoVO result = BeanUtil.copyProperties(param, SceneEditInfoVO.class);
         result.setCreateTime(sceneEditInfo.getCreateTime());
 
@@ -394,78 +407,70 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        fYunFileService.uploadFile(bucket, JSON.toJSONString(collect).getBytes(), userEditPath);
 //    }
 //
-//    @Override
-//    public SceneInfoVO getSceneInfo(@Var SceneInfoParamVO param) throws Exception{
-//        SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
-//        switch (sceneInfoReqType){
-//            //如果是编辑页面请求,查数据库
-//            case EDIT:
-//                return this.getSceneInfo4Edit(param.getNum());
-//            //如果是查看页面请求,查redis
-//            case VIEW:
-//                return this.getSceneInfo4View(param.getNum());
-//        }
-//        return null;
-//    }
-//
-//    /**
-//     * <p>
-//     编辑页面获取场景详情信息
-//     * </p>
-//     * @author dengsixing
-//     * @date 2022/1/21
-//     * @param num
-//     * @return com.fdkankan.scene.vo.SceneInfoVO
-//     **/
-//    private SceneInfoVO getSceneInfo4Edit(String num) throws Exception{
-//
-//        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
-//        if(Objects.isNull(scenePlus)){
-//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-//        }
-//        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
-//
-//        SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
-//        if(Objects.isNull(sceneEditInfo)){
-//            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
-//        }
-//        SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
-//        SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
-//        SceneInfoVO sceneInfoVO = new SceneInfoVO();
-//        BeanUtil.copyProperties(sceneEditInfoExt, sceneInfoVO, "started");
-//        BeanUtil.copyProperties(sceneEditInfo, sceneInfoVO);
-//        sceneInfoVO.setFloorPlanUpload(JSON.parseArray(sceneEditInfo.getFloorPlanUpload()));
-//        if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
-//            sceneInfoVO.setFloorPlanAngle(0f);
-//        }
-//        if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
-//            sceneInfoVO.setFloorPlanCompass(0f);
-//        }
-//        sceneInfoVO.setControls(BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class));
-//        sceneInfoVO.setNum(num);
-//        sceneInfoVO.setCreateTime(scenePlusExt.getAlgorithmTime());
-//
-//        sceneInfoVO.setSceneResolution(scenePlusExt.getSceneResolution());
-//        sceneInfoVO.setSceneFrom(scenePlusExt.getSceneFrom());
-//        sceneInfoVO.setSceneKind(scenePlusExt.getSceneKind());
-//        sceneInfoVO.setModelKind(scenePlusExt.getModelKind());
-//        sceneInfoVO.setVideos(scenePlusExt.getVideos());
-//        if(CommonStatus.YES.code().intValue() == sceneEditInfoExt.getMosaic()){
-//            sceneInfoVO.setMosaicList(this.getMosaicList(num));
-//        }
-//        sceneInfoVO.setSpace(FileSizeUtil.convert(scenePlusExt.getSpace(), FileSizeUnitType.MB.code()));
-//        sceneInfoVO.setSns(JSON.parseObject(sceneEditInfoExt.getSnsInfo()));
-//        sceneInfoVO.setStarted(JSON.parseObject(sceneEditInfoExt.getStarted()));
-//
+    @Override
+    public SceneInfoVO getSceneInfo(SceneInfoParamVO param) throws Exception{
+        SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
+        switch (sceneInfoReqType){
+            //如果是编辑页面请求,查数据库
+            case EDIT:
+                return this.getSceneInfo4Edit(param.getNum());
+            //如果是查看页面请求,查redis
+            case VIEW:
+                return this.getSceneInfo4View(param.getNum());
+        }
+        return null;
+    }
+
+    /**
+     * <p>
+     编辑页面获取场景详情信息
+     * </p>
+     * @author dengsixing
+     * @date 2022/1/21
+     * @param num
+     * @return com.fdkankan.scene.vo.SceneInfoVO
+     **/
+    private SceneInfoVO getSceneInfo4Edit(String num) throws Exception{
+
+        Scene scenePlus = sceneService.getByNum(num);
+        if(Objects.isNull(scenePlus)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+
+        SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
+        if(Objects.isNull(sceneEditInfo)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
+        SceneEditControls sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
+        SceneInfoVO sceneInfoVO = new SceneInfoVO();
+        BeanUtil.copyProperties(sceneEditInfoExt, sceneInfoVO, "started");
+        BeanUtil.copyProperties(sceneEditInfo, sceneInfoVO);
+        sceneInfoVO.setFloorPlanUpload(JSON.parseArray(sceneEditInfo.getFloorPlanUpload()));
+        if(Objects.isNull(sceneInfoVO.getFloorPlanAngle())){
+            sceneInfoVO.setFloorPlanAngle(0f);
+        }
+        if(Objects.isNull(sceneInfoVO.getFloorPlanCompass())){
+            sceneInfoVO.setFloorPlanCompass(0f);
+        }
+        sceneInfoVO.setControls(BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class));
+        sceneInfoVO.setNum(num);
+
+        sceneInfoVO.setSceneResolution(scenePlus.getSceneresolution());
+        sceneInfoVO.setSceneFrom(scenePlus.getScenefrom());
+        sceneInfoVO.setSceneKind(scenePlus.getScenekind());
+        sceneInfoVO.setModelKind(scenePlus.getModelkind());
+        if(CommonStatus.YES.code().intValue() == sceneEditInfoExt.getMosaic()){
+            sceneInfoVO.setMosaicList(this.getMosaicList(num));
+        }
+        sceneInfoVO.setSns(JSON.parseObject(sceneEditInfoExt.getSnsInfo()));
+        sceneInfoVO.setStarted(JSON.parseObject(sceneEditInfoExt.getStarted()));
+
 //        this.SortBoxVideos(sceneInfoVO);
-//
-//        this.setExtData(sceneInfoVO, scenePlus.getCameraId());
-//
-//        sceneInfoVO.setDynamicPanel(sceneDynamicPanelService.checkDynamicPanel(num));
-//
-//        return sceneInfoVO;
-//    }
-//
+
+        return sceneInfoVO;
+    }
+
 //    public static void main(String[] args) {
 //        String test = "";
 ////        JSONObject jsonObject = JSON.parseObject(test);
@@ -2705,12 +2710,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        return ResultData.ok();
 //    }
 //
-//    @Override
-//    public List<JSONObject> getMosaicList(String num) throws Exception {
-//
-//        //如果redis数据丢失,从本地文件中同步马赛克数据到redis
-//        this.syncMosaicFromFileToRedis(num);
-//
+    @Override
+    public List<JSONObject> getMosaicList(String num) throws Exception {
+
 //        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, num);
 //        Map<String, String> map = redisUtil.hmget(key);
 //        if(CollUtil.isEmpty(map)){
@@ -2719,9 +2721,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        return map.values().stream()
 //                .map(mosaic-> JSON.parseObject(mosaic))
 //                .collect(Collectors.toList());
-//
-//    }
-//
+        return null;
+
+    }
+
 //    @Override
 //    public ResultData addWaterMark(BaseFileParamVO param) throws Exception {
 //        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());

+ 16 - 31
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -63,44 +63,29 @@ public class SceneServiceImpl extends ServiceImpl<SceneMapper, Scene> implements
     public ResultData getSceneInfo(SceneInfoParamVO param) throws Exception {
         String num = param.getNum();
         SceneInfoVO sceneInfoVO = null;
-        String key = String.format(RedisKey.SCENE_JSON, num);
-        String sceneJson = null;//redisClient.get(key);
-        if(StrUtil.isNotEmpty(sceneJson)){
-            sceneInfoVO = JSON.parseObject(sceneJson, SceneInfoVO.class);
-            sceneInfoVO.getControls().setShowRule(1);
-            sceneInfoVO.getControls().setShowFloorplan(0);
-            sceneInfoVO.getControls().setShowDollhouse(0);
-            sceneInfoVO.setFloorLogo("2");
-        }else{
-            List<Scene> list = this.list(new LambdaQueryWrapper<Scene>().eq(Scene::getNum, num).orderByDesc(Scene::getId));
-            if(CollUtil.isEmpty(list)){
-                return ResultData.error(ErrorCode.FAILURE_CODE_5005.code(), ErrorCode.FAILURE_CODE_5005.message());
-            }
-            Scene scene = list.get(0);
-            sceneInfoVO = new SceneInfoVO();
-            sceneInfoVO.setTitle(scene.getTitle());
-            sceneInfoVO.setNum(scene.getNum());
-            sceneInfoVO.setFloorLogoSize(Integer.valueOf(scene.getFloorlogosize()));
-            sceneInfoVO.setSceneKind(scene.getScenekind());
-            sceneInfoVO.setSceneResolution(scene.getSceneresolution());
-            sceneInfoVO.setSceneFrom(scene.getScenefrom());
-            sceneInfoVO.setModelKind(scene.getModelkind());
-            sceneInfoVO.setFloorPlanAngle(Float.valueOf(scene.getFloorplanangle()));
-            sceneInfoVO.setFloorLogo("2");
-            SceneEditControlsVO sceneEditControlsBean = SceneEditControlsVO.builder().showRule(1).showFloorplan(0).showDollhouse(0).showMap(1).showPanorama(1).showVR(1).showTitle(1).build();
-            sceneInfoVO.setControls(sceneEditControlsBean);
-
-            redisClient.add(key, JSON.toJSONString(sceneInfoVO));
+        List<Scene> list = this.list(new LambdaQueryWrapper<Scene>().eq(Scene::getNum, num).orderByDesc(Scene::getId));
+        if(CollUtil.isEmpty(list)){
+            return ResultData.error(ErrorCode.FAILURE_CODE_5005.code(), ErrorCode.FAILURE_CODE_5005.message());
         }
+        Scene scene = list.get(0);
+        sceneInfoVO = new SceneInfoVO();
+        sceneInfoVO.setTitle(scene.getTitle());
+        sceneInfoVO.setNum(scene.getNum());
+        sceneInfoVO.setFloorLogoSize(Integer.valueOf(scene.getFloorlogosize()));
+        sceneInfoVO.setSceneKind(scene.getScenekind());
+        sceneInfoVO.setSceneResolution(scene.getSceneresolution());
+        sceneInfoVO.setSceneFrom(scene.getScenefrom());
+        sceneInfoVO.setModelKind(scene.getModelkind());
+        sceneInfoVO.setFloorPlanAngle(Float.valueOf(scene.getFloorplanangle()));
+        sceneInfoVO.setFloorLogo("2");
+        SceneEditControlsVO sceneEditControlsBean = SceneEditControlsVO.builder().showRule(1).showFloorplan(0).showDollhouse(0).showMap(1).showPanorama(1).showVR(1).showTitle(1).build();
+        sceneInfoVO.setControls(sceneEditControlsBean);
 
         List<SceneFileMapping> mappingList = sceneFileMappingService.list(new LambdaQueryWrapper<SceneFileMapping>().eq(SceneFileMapping::getNum, num).orderByAsc(SceneFileMapping::getId));
         Map<String, String> keyMap = new HashMap<>();
         for (SceneFileMapping sceneFileMapping : mappingList) {
             keyMap.put(sceneFileMapping.getKey(), "service/scene/file?key=" + sceneFileMapping.getKey());
         }
-//        Map<String, String> keyMap = mappingList.stream().collect(Collectors.toMap(SceneFileMapping::getKey, v->{
-//            return "service/scene/file?key=" + v.getKey();
-//        }));
         sceneInfoVO.setMapping(keyMap);
 
         return ResultData.ok(sceneInfoVO);