瀏覽代碼

Merge branch 'master' into dev-dsx-deploy-20220414

# Conflicts:
#	4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java
#	4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildSceneFailDTMQListener.java
dengsixing 3 年之前
父節點
當前提交
bba658cf13
共有 28 個文件被更改,包括 648 次插入93 次删除
  1. 17 0
      4dkankan-center-api/4dkankan-center-scene-api/src/main/java/com/fdkankan/scene/api/feign/SceneUserSceneClient.java
  2. 47 0
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/common/CameraTypeEnum.java
  3. 4 18
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/DeviceServiceImpl.java
  4. 27 9
      4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserServiceImpl.java
  5. 7 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/SceneJsonBean.java
  6. 51 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/DeviceSceneController.java
  7. 31 3
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java
  8. 7 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java
  9. 77 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/feign/UserSceenFeign.java
  10. 4 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFdkkLaserService.java
  11. 8 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneCooperationService.java
  12. 5 5
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java
  13. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java
  14. 2 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneResourceCameraService.java
  15. 5 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneResourceCooperationService.java
  16. 6 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneService.java
  17. 48 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/IFdkkLaserServiceImpl.java
  18. 47 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneCooperationServiceImpl.java
  19. 1 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java
  20. 97 5
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java
  21. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProAppServiceImpl.java
  22. 11 7
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  23. 15 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceCameraServiceImpl.java
  24. 8 2
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceCooperationServiceImpl.java
  25. 87 11
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  26. 1 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/DeleteVidoeBoxParamVO.java
  27. 28 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/DeviceSceneParamVO.java
  28. 5 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

+ 17 - 0
4dkankan-center-api/4dkankan-center-scene-api/src/main/java/com/fdkankan/scene/api/feign/SceneUserSceneClient.java

@@ -54,4 +54,21 @@ public interface SceneUserSceneClient {
     @PostMapping("/updateUserIdByCameraId")
     @PostMapping("/updateUserIdByCameraId")
     ResultData updateUserIdByCameraId(@RequestParam(value = "userId")Long userId,
     ResultData updateUserIdByCameraId(@RequestParam(value = "userId")Long userId,
                                       @RequestParam(value = "cameraId")Long cameraId);
                                       @RequestParam(value = "cameraId")Long cameraId);
+
+    @PostMapping("/getSceneCount")
+    ResultData getSceneCount(@RequestParam(value = "cameraId") Long cameraId,
+                             @RequestParam(value = "userId") Long userId,
+                             @RequestParam(value = "cameraType") Integer cameraType);
+
+    @PostMapping("/disableCooperation")
+    ResultData disableCooperation(@RequestParam(value = "cameraId")Long cameraId,
+                                 @RequestParam(value = "snCode")String snCode,
+                                 @RequestParam(value = "cooperationUserName")String cooperationUserName);
+
+    @PostMapping("/saveCooperation")
+    ResultData saveCooperation(@RequestParam(value = "cameraId") Long cameraId,
+                               @RequestParam(value = "resourceIds") String resourceIds,
+                               @RequestParam(value = "userId") Long userId,
+                               @RequestParam(value = "snCode")String snCode,
+                               @RequestParam(value = "cooperationUserName")String cooperationUserName);
 }
 }

+ 47 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/platform/common/CameraTypeEnum.java

@@ -0,0 +1,47 @@
+package com.fdkankan.platform.common;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum CameraTypeEnum {
+    DOUBLE_EYE(0,"KK-","4DKKLITE_","旧双目相机"),
+    FDKK_PRO(1,"KK-","4DKKPRO_","四维看看pro八目相机"),
+    FDKK_LITE(2,"KK-","4DKKLITE_","四维看看lite"),
+    ZHIHOUSE_REDHOUSE(5,"KK-","4DKKLITE_","指房宝小红屋相机"),
+    DOUBLE_EYE_TURN(9,"KJ-","4DKKLITE_","双目转台"),
+    LASER_TURN(10,"SS-","4DKKLA_","激光转台");
+
+
+    private int type;
+    private String sceneNumPrefix;
+    private String wifiNamePrefix;
+    private String desc;
+
+    public int getType() {
+        return type;
+    }
+
+    public String getSceneNumPrefix() {
+        return sceneNumPrefix;
+    }
+
+    static Map<Integer,CameraTypeEnum> typeMaps = new HashMap<>(5);
+
+    static{
+        for (CameraTypeEnum typeEnum : CameraTypeEnum.values()) {
+            typeMaps.put(typeEnum.getType(),typeEnum);
+        }
+    }
+
+    CameraTypeEnum(Integer type, String sceneNumPrefix, String wifiNamePrefix, String desc) {
+        this.type = type;
+        this.sceneNumPrefix = sceneNumPrefix;
+        this.wifiNamePrefix = wifiNamePrefix;
+        this.desc = desc;
+    }
+
+    public static String getSceneNumPrefixByType(Integer type){
+        return typeMaps.get(type).getSceneNumPrefix();
+    }
+
+}

+ 4 - 18
4dkankan-center-platform/src/main/java/com/fdkankan/platform/goods/service/impl/DeviceServiceImpl.java

@@ -61,9 +61,8 @@ public class DeviceServiceImpl implements IDeviceService {
             }
             }
             cameraEntity.setUserName(user.getUserName());
             cameraEntity.setUserName(user.getUserName());
         }
         }
-        //sceneService.getSceneCount(cameraEntity.getId());
-        //todo getSceneCount
-        cameraEntity.setSceneCount(0);
+        Long count = (Long) sceneUserSceneClient.getSceneCount(cameraEntity.getId(),null,null).getData();
+        cameraEntity.setSceneCount(count.intValue());
         UserIncrement userIncrementEntity = userIncrementService.getByCameraId(cameraEntity.getId());
         UserIncrement userIncrementEntity = userIncrementService.getByCameraId(cameraEntity.getId());
         if(userIncrementEntity != null){
         if(userIncrementEntity != null){
             cameraEntity.setUserIncrementId(userIncrementEntity.getId());
             cameraEntity.setUserIncrementId(userIncrementEntity.getId());
@@ -263,16 +262,7 @@ public class DeviceServiceImpl implements IDeviceService {
         if(userIncrementEntity != null){
         if(userIncrementEntity != null){
             userIncrementService.unbindCamera(detailEntity.getUserId(), userIncrementEntity.getId(), true,detailEntity,userIncrementEntity);
             userIncrementService.unbindCamera(detailEntity.getUserId(), userIncrementEntity.getId(), true,detailEntity,userIncrementEntity);
         }
         }
-//        Result result = null;
-//        if (detailEntity.getType() == 0){
-//            result = sceneService.updateUserIdByCameraId(null, cameraEntity.getId());
-//        }else {
-//            result = sceneService.updateUserIdByCameraIdPro(null, cameraEntity.getId());
-//        }
-//        if (result.getCode() == Result.CODE_FAILURE){
-//            throw new Exception(LoginConstant.ERROR_MSG);
-//        }
-//  todo updateUserIdByCameraId
+        sceneUserSceneClient.updateUserIdByCameraId(userEntity.getId(),cameraEntity.getId());
         //删除所有相机协作信息
         //删除所有相机协作信息
 //        if(detailEntity.getCooperationUser() != null){
 //        if(detailEntity.getCooperationUser() != null){
             camera.setCameraId(cameraEntity.getId());
             camera.setCameraId(cameraEntity.getId());
@@ -314,11 +304,7 @@ public class DeviceServiceImpl implements IDeviceService {
             userIncrementService.unbindCamera(detailEntity.getUserId(), userIncrementEntity.getId(), true,detailEntity,userIncrementEntity);
             userIncrementService.unbindCamera(detailEntity.getUserId(), userIncrementEntity.getId(), true,detailEntity,userIncrementEntity);
         }
         }
 
 
-//        Result result = sceneService.updateUserIdByCameraIdPro(null, cameraEntity.getId());
-//        if (result.getCode() == Result.CODE_FAILURE){
-//            throw new Exception(LoginConstant.ERROR_MSG);
-//        }
-        //todo updateUserIdByCameraIdPro
+        sceneUserSceneClient.updateUserIdByCameraId(userEntity.getId(),cameraEntity.getId());
 
 
         //删除所有相机协作信息
         //删除所有相机协作信息
 //        if(detailEntity.getCooperationUser() != null){
 //        if(detailEntity.getCooperationUser() != null){

+ 27 - 9
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserServiceImpl.java

@@ -18,6 +18,7 @@ import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.common.util.SsoUtil;
 import com.fdkankan.common.validation.Variable;
 import com.fdkankan.common.validation.Variable;
 import com.fdkankan.fyun.qiniu.QiniuUpload;
 import com.fdkankan.fyun.qiniu.QiniuUpload;
+import com.fdkankan.platform.common.CameraTypeEnum;
 import com.fdkankan.platform.goods.entity.Camera;
 import com.fdkankan.platform.goods.entity.Camera;
 import com.fdkankan.platform.goods.entity.CameraDetail;
 import com.fdkankan.platform.goods.entity.CameraDetail;
 import com.fdkankan.platform.goods.entity.CameraDetailNumEntity;
 import com.fdkankan.platform.goods.entity.CameraDetailNumEntity;
@@ -38,6 +39,7 @@ import com.fdkankan.platform.user.vo.ResponseCamera;
 import com.fdkankan.platform.user.vo.ResponseUser;
 import com.fdkankan.platform.user.vo.ResponseUser;
 import com.fdkankan.platform.user.vo.SSOUserVo;
 import com.fdkankan.platform.user.vo.SSOUserVo;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.api.feign.SceneUserSceneClient;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,6 +77,8 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     @Autowired
     @Autowired
     private ICameraDetailService cameraDetailService;
     private ICameraDetailService cameraDetailService;
     @Autowired
     @Autowired
+    private SceneUserSceneClient sceneUserSceneClient;
+    @Autowired
     RedisUtil redisUtil;
     RedisUtil redisUtil;
     @Resource
     @Resource
     private IUserMapper userMapper;
     private IUserMapper userMapper;
@@ -130,13 +134,10 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     public SSOUserVo getUserInfoByUser(Integer cameraType, User dbUser, String token) {
     public SSOUserVo getUserInfoByUser(Integer cameraType, User dbUser, String token) {
         ResponseUser vo = new ResponseUser();
         ResponseUser vo = new ResponseUser();
         BeanUtils.copyProperties(dbUser,vo);
         BeanUtils.copyProperties(dbUser,vo);
-        if(cameraType != null){
-            //todo sceneCount  CameraCount
-        }else {
-
-        }
-        vo.setSceneCount(0);
-        vo.setCameraCount(0);
+        Integer cameraCount = cameraDetailService.getListByUserId(dbUser.getId(),Long.valueOf(cameraType)).size();
+        Long sceneCount = (Long) sceneUserSceneClient.getSceneCount(null,dbUser.getId(),cameraType).getData();
+        vo.setSceneCount(sceneCount.intValue());
+        vo.setCameraCount(cameraCount);
         SSOUserVo ssoUserVo = new SSOUserVo();
         SSOUserVo ssoUserVo = new SSOUserVo();
         ssoUserVo.setToken(token);
         ssoUserVo.setToken(token);
         ssoUserVo.setResponseUser(vo);
         ssoUserVo.setResponseUser(vo);
@@ -422,10 +423,19 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
                 throw new BusinessException(CameraConstant.FAILURE_6003);
                 throw new BusinessException(CameraConstant.FAILURE_6003);
             }
             }
         }
         }
+        String snCode = null;
+        String cooperationUserName = null;
+        if(cameraDetailEntity.getCameraType() == CameraTypeEnum.LASER_TURN.getType()){
+            Camera cameraEntity = cameraService.getById(camera.getCameraId());
+            snCode = cameraEntity.getSnCode();
+            cooperationUserName  =camera.getUserName();
+        }
         cameraDetailEntity.setCooperationUser(null);
         cameraDetailEntity.setCooperationUser(null);
         cameraDetailService.updateById(cameraDetailEntity);
         cameraDetailService.updateById(cameraDetailEntity);
 
 
-        //删除相机和场景资源的关联关系 todo
+        //删除相机和场景资源的关联关系
+        sceneUserSceneClient.disableCooperation(camera.getCameraId(),snCode,cooperationUserName);
+
         return ServerCode.SUCCESS.message();
         return ServerCode.SUCCESS.message();
     }
     }
 
 
@@ -457,7 +467,15 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
             CameraDetail cameraDetailEntity = cameraDetailService.getByCameraId(Long.valueOf(cameraId));
             CameraDetail cameraDetailEntity = cameraDetailService.getByCameraId(Long.valueOf(cameraId));
             cameraDetailEntity.setCooperationUser(userEntity.getId());
             cameraDetailEntity.setCooperationUser(userEntity.getId());
             cameraDetailService.updateById(cameraDetailEntity);
             cameraDetailService.updateById(cameraDetailEntity);
-            //保存相机和场景资源的关联关系 todo
+            //保存相机和场景资源的关联关系
+            String snCode = null;
+            String cooperationUserName = null;
+            if(cameraDetailEntity.getCameraType() == CameraTypeEnum.LASER_TURN.getType()){
+                Camera cameraEntity = cameraService.getById(Long.valueOf(cameraId));
+                snCode = cameraEntity.getSnCode();
+                cooperationUserName = camera.getUserName();
+            }
+            sceneUserSceneClient.saveCooperation(Long.valueOf(cameraId),camera.getResourceIds(),userEntity.getId(),snCode,cooperationUserName);
 
 
         }
         }
         return ServerCode.SUCCESS.message();
         return ServerCode.SUCCESS.message();

+ 7 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/SceneJsonBean.java

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.bean;
 package com.fdkankan.scene.bean;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fdkankan.scene.vo.SceneEditControlsVO;
 import com.fdkankan.scene.vo.SceneEditControlsVO;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Builder;
@@ -134,11 +135,16 @@ public class SceneJsonBean {
     private String sceneFrom;
     private String sceneFrom;
 
 
     /**
     /**
-     * 视频覆盖数据
+     * 空间视频数据
      */
      */
     private String boxVideos;
     private String boxVideos;
 
 
     /**
     /**
+     * 空间贴图数据
+     */
+    private String boxPhotos;
+
+    /**
      *点位视频
      *点位视频
      */
      */
     private JSONObject videos;
     private JSONObject videos;

+ 51 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/DeviceSceneController.java

@@ -0,0 +1,51 @@
+package com.fdkankan.scene.controller;
+
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.vo.DeviceSceneParamVO;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 设备中心接口-场景模块
+ */
+@Log4j2
+@RestController
+@RequestMapping("/api/device/scene")
+public class DeviceSceneController extends BaseController {
+
+    @Autowired
+    private ISceneService sceneService;
+
+    /**
+     * 获取相机场景记录
+     * cameraId         相机id
+     * cameraType       相机类型
+     * searchKey        关键词
+     * endTime          结束时间
+     * startTime        开始时间
+     * sceneType        0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居,99一件换装虚拟房源
+     * @return
+     */
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public ResultData getScenes(@RequestBody DeviceSceneParamVO param) throws Exception {
+        return sceneService.getScenes(param);
+    }
+
+    /**
+     * 删除场景
+     * sceneNum     场景码
+     * @return
+     */
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    public ResultData deleteScene(@RequestBody DeviceSceneParamVO param) throws Exception {
+        return sceneService.deleteScene(param.getSceneNum());
+    }
+
+
+}

+ 31 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -10,7 +10,6 @@ import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.scene.service.ISceneUploadService;
 import com.fdkankan.scene.service.ISceneUploadService;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
-import java.util.List;
 import lombok.extern.log4j.Log4j2;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
@@ -754,12 +753,41 @@ public class SceneEditController extends BaseController {
      * @return com.fdkankan.common.response.ResultData
      * @return com.fdkankan.common.response.ResultData
      **/
      **/
     @PostMapping(value = "/video/box/delete")
     @PostMapping(value = "/video/box/delete")
-    public ResultData deleteVideoBox(@RequestBody @Validated DeleteVidoeBoxParamVO param) throws Exception {
+    public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
         return sceneEditInfoService.deleteVideoBox(param);
         return sceneEditInfoService.deleteVideoBox(param);
     }
     }
 
 
     /**
     /**
      * <p>
      * <p>
+     保存空间贴图
+     * </p>
+     * @author dengsixing
+     * @date 2022/2/18
+     * @param param
+     * @return com.fdkankan.common.response.ResultData
+     **/
+    @PostMapping(value = "/photo/box/save")
+    public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception {
+        return sceneEditInfoService.saveBoxPhoto(param);
+    }
+
+    /**
+     * <p>
+     删除空间贴图
+     * </p>
+     * @author dengsixing
+     * @date 2022/2/18
+     * @param param
+     * @return com.fdkankan.common.response.ResultData
+     **/
+    @PostMapping(value = "/photo/box/delete")
+    public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
+        return sceneEditInfoService.deleteBoxPhoto(param);
+    }
+
+
+    /**
+     * <p>
         下载视频
         下载视频
      * </p>
      * </p>
      * @author dengsixing
      * @author dengsixing
@@ -855,7 +883,7 @@ public class SceneEditController extends BaseController {
      * </p>
      * </p>
      * @author dengsixing
      * @author dengsixing
      * @date 2022/4/11
      * @date 2022/4/11
-     * @param file
+     * @param param
      * @return com.fdkankan.common.response.ResultData
      * @return com.fdkankan.common.response.ResultData
      **/
      **/
     @PostMapping(value = "/locales")
     @PostMapping(value = "/locales")

+ 7 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java

@@ -125,12 +125,18 @@ public class SceneEditInfo implements Serializable {
     private Integer floorPublishVer;
     private Integer floorPublishVer;
 
 
     /**
     /**
-     * 正式发布重新建模的版本
+     * 空间视频数据
      */
      */
     @TableField("box_videos")
     @TableField("box_videos")
     private String boxVideos;
     private String boxVideos;
 
 
     /**
     /**
+     * 空间贴图数据
+     */
+    @TableField("box_photos")
+    private String boxPhotos;
+
+    /**
      * 是否需要处理球幕视频
      * 是否需要处理球幕视频
      */
      */
     @TableField("build_video_status")
     @TableField("build_video_status")

+ 77 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/feign/UserSceenFeign.java

@@ -1,20 +1,28 @@
 package com.fdkankan.scene.feign;
 package com.fdkankan.scene.feign;
 
 
+import com.aliyuncs.utils.StringUtils;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.api.dto.SceneCntDTO;
 import com.fdkankan.scene.api.dto.SceneCntDTO;
 import com.fdkankan.scene.api.dto.SceneInfoDTO;
 import com.fdkankan.scene.api.dto.SceneInfoDTO;
 import com.fdkankan.scene.api.dto.ScenePODTO;
 import com.fdkankan.scene.api.dto.ScenePODTO;
 import com.fdkankan.scene.api.dto.SceneProDTO;
 import com.fdkankan.scene.api.dto.SceneProDTO;
+import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.ScenePO;
 import com.fdkankan.scene.entity.ScenePO;
+import com.fdkankan.scene.entity.SceneProPO;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.SceneInfoParamVO;
 import com.fdkankan.scene.vo.SceneInfoParamVO;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 提供计算调用
  * 提供计算调用
@@ -34,6 +42,14 @@ public class UserSceenFeign {
     ISceneService sceneService;
     ISceneService sceneService;
     @Autowired
     @Autowired
     ISceneProService sceneProService;
     ISceneProService sceneProService;
+    @Autowired
+    ISceneResourceCameraService sceneResourceCameraService;
+    @Autowired
+    ISceneResourceCooperationService sceneResourceCooperationService;
+    @Autowired
+    ISceneCooperationService sceneCooperationService;
+    @Autowired
+    IFdkkLaserService fdkkLaserService;
 
 
     @PostMapping("/getSceneCnt")
     @PostMapping("/getSceneCnt")
     ResultData<SceneCntDTO> getSceneCnt(@RequestParam(value = "userId") Long userId, Long cameraId){
     ResultData<SceneCntDTO> getSceneCnt(@RequestParam(value = "userId") Long userId, Long cameraId){
@@ -109,5 +125,65 @@ public class UserSceenFeign {
         sceneProService.updateUserIdByCameraId(userId,cameraId);
         sceneProService.updateUserIdByCameraId(userId,cameraId);
         return ResultData.ok();
         return ResultData.ok();
     }
     }
+
+    @PostMapping("/getSceneCount")
+    ResultData getSceneCount(@RequestParam(value = "cameraId")Long cameraId,
+                             @RequestParam(value = "userId")Long userId ,
+                             @RequestParam(value = "cameraType")Integer cameraType ) throws Exception{
+        if(cameraId!=null){
+            return ResultData.ok(sceneProService.getSceneCount(cameraId,null));
+        }
+        if(cameraType == null || cameraType != 4){
+            return ResultData.ok(sceneService.getSceneCount(null,userId));
+        }
+        return ResultData.ok(sceneProService.getSceneCount(null,userId));
+    }
+
+
+    @PostMapping("/disableCooperation")
+    ResultData disableCooperation(@RequestParam(value = "cameraId")Long cameraId,
+                                 @RequestParam(value = "snCode")String snCode,
+                                 @RequestParam(value = "cooperationUserName")String cooperationUserName){
+
+        sceneResourceCameraService.deleteByCameraId(cameraId);
+        deleteCooperation(cameraId);
+        if(StringUtils.isEmpty(snCode)){
+            fdkkLaserService.disableCooperation(snCode,cooperationUserName);
+        }
+        return ResultData.ok();
+    }
+
+
+    @PostMapping("/saveCooperation")
+    ResultData saveCooperation(@RequestParam(value = "cameraId") Long cameraId,
+                               @RequestParam(value = "resourceIds") String resourceIds,
+                               @RequestParam(value = "userId") Long userId,
+                               @RequestParam(value = "snCode")String snCode,
+                               @RequestParam(value = "cooperationUserName")String cooperationUserName){
+        sceneResourceCameraService.saveByResourceIds(cameraId,resourceIds);
+        List<SceneProPO> sceneProPOS = deleteCooperation(cameraId);
+        sceneCooperationService.saveByResourceIds(sceneProPOS,cameraId,resourceIds,userId);
+
+        if(StringUtils.isEmpty(snCode)){
+            fdkkLaserService.disableCooperation(snCode,cooperationUserName);
+            fdkkLaserService.enableCameraCooperation(snCode,cooperationUserName);
+        }
+        return ResultData.ok();
+    }
+
+    private List<SceneProPO>  deleteCooperation(Long cameraId){
+        List<SceneProPO> sceneProList = sceneProService.findByCameraIdPro(cameraId);
+        if(!CollectionUtils.isEmpty(sceneProList)) {
+            List<String> numList = sceneProList.stream().map(SceneProPO::getNum).collect(Collectors.toList());
+            List<SceneCooperation> list = sceneCooperationService.getListByNums(numList);
+            List<Long> cooIds = list.parallelStream().map(SceneCooperation::getId).collect(Collectors.toList());
+            if(cooIds.size() >0){
+                //删除相机下每个场景的关联关系
+                sceneResourceCooperationService.deleteByCooperationIds(cooIds);
+                sceneCooperationService.updateRecStatusList(cooIds);
+            }
+        }
+        return sceneProList;
+    }
 }
 }
 
 

+ 4 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFdkkLaserService.java

@@ -11,4 +11,8 @@ package com.fdkankan.scene.service;
 public interface IFdkkLaserService {
 public interface IFdkkLaserService {
 
 
     void updateSceneStatus(String sceneCode,int status);
     void updateSceneStatus(String sceneCode,int status);
+
+    void disableCooperation(String snCode, String cooperationUserName);
+
+    void enableCameraCooperation(String snCode, String cooperationUserName);
 }
 }

+ 8 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneCooperationService.java

@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.SceneCooperation;
+import com.fdkankan.scene.entity.SceneProPO;
 import com.fdkankan.scene.vo.SceneCooperationParamVO;
 import com.fdkankan.scene.vo.SceneCooperationParamVO;
-
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneParamVO;
+
 import java.util.List;
 import java.util.List;
-import org.springframework.web.bind.annotation.RequestBody;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -31,4 +31,10 @@ public interface ISceneCooperationService extends IService<SceneCooperation> {
     List<SceneCooperation> getListByUserId(List<Long> userIds);
     List<SceneCooperation> getListByUserId(List<Long> userIds);
 
 
     Page cooperationSceneListNew(SceneParamVO param) throws Exception;
     Page cooperationSceneListNew(SceneParamVO param) throws Exception;
+
+    List<SceneCooperation> getListByNums(List<String> numList);
+
+    void updateRecStatusList(List<Long> ids);
+
+    void saveByResourceIds(List<SceneProPO> scenePros, Long cameraId, String resourceIds, Long userId);
 }
 }

+ 5 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditInfoService.java

@@ -5,10 +5,6 @@ import com.fdkankan.scene.api.dto.SceneInfoDTO;
 import com.fdkankan.scene.entity.SceneEditInfo;
 import com.fdkankan.scene.entity.SceneEditInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.scene.vo.*;
-import java.io.IOException;
-import java.util.List;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
 /**
 /**
@@ -49,7 +45,11 @@ public interface ISceneEditInfoService extends IService<SceneEditInfo> {
 
 
     ResultData saveVideoBox(FileNameAndDataParamVO param) throws Exception;
     ResultData saveVideoBox(FileNameAndDataParamVO param) throws Exception;
 
 
-    ResultData deleteVideoBox(DeleteVidoeBoxParamVO param) throws Exception;
+    ResultData deleteVideoBox(DeleteSidParamVO param) throws Exception;
+
+    ResultData saveBoxPhoto(BaseDataParamVO param);
+
+    ResultData deleteBoxPhoto(DeleteSidParamVO param);
 
 
     DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param);
     DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param);
 
 

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -35,7 +35,7 @@ public interface ISceneProService extends IService<ScenePro> {
 
 
     List<SceneVO> convert2(List<SceneProPO> list);
     List<SceneVO> convert2(List<SceneProPO> list);
 
 
-    Long getSceneCount(Long cameraId);
+    Long getSceneCount(Long cameraId,Long userId);
 
 
     ScenePro findBySceneNum(String sceneNum);
     ScenePro findBySceneNum(String sceneNum);
 
 

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneResourceCameraService.java

@@ -18,4 +18,6 @@ public interface ISceneResourceCameraService extends IService<SceneResourceCamer
     void deleteByCameraId(Long id);
     void deleteByCameraId(Long id);
 
 
     List<SceneResourceCamera> findListByCameraId(Long id);
     List<SceneResourceCamera> findListByCameraId(Long id);
+
+    void saveByResourceIds(Long cameraId, String resourceIds);
 }
 }

+ 5 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneResourceCooperationService.java

@@ -1,7 +1,9 @@
 package com.fdkankan.scene.service;
 package com.fdkankan.scene.service;
 
 
-import com.fdkankan.scene.entity.SceneResourceCooperation;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.entity.SceneResourceCooperation;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface ISceneResourceCooperationService extends IService<SceneResourceCooperation> {
 public interface ISceneResourceCooperationService extends IService<SceneResourceCooperation> {
     void deleteByCooperationId(Long id);
     void deleteByCooperationId(Long id);
+
+    void deleteByCooperationIds(List<Long> ids);
 }
 }

+ 6 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneService.java

@@ -7,10 +7,7 @@ import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.ScenePO;
 import com.fdkankan.scene.entity.ScenePO;
 import com.fdkankan.scene.entity.SceneProPO;
 import com.fdkankan.scene.entity.SceneProPO;
-import com.fdkankan.scene.vo.BaseSceneParamVO;
-import com.fdkankan.scene.vo.SceneEditParamVO;
-import com.fdkankan.scene.vo.SceneParamVO;
-import com.fdkankan.scene.vo.SceneVO;
+import com.fdkankan.scene.vo.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
 import java.io.IOException;
 import java.io.IOException;
@@ -101,4 +98,9 @@ public interface ISceneService extends IService<Scene> {
     ResultData downLoadZSData(BaseSceneParamVO param) throws Exception;
     ResultData downLoadZSData(BaseSceneParamVO param) throws Exception;
 
 
 
 
+    ResultData getScenes(DeviceSceneParamVO param);
+
+    ResultData deleteScene(String sceneNum) throws IOException;
+
+    Long getSceneCount(Long cameraId, Long userId);
 }
 }

+ 48 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/IFdkkLaserServiceImpl.java

@@ -1,10 +1,12 @@
 package com.fdkankan.scene.service.impl;
 package com.fdkankan.scene.service.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.HttpCode;
 import com.fdkankan.common.constant.HttpCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.service.IFdkkLaserService;
 import com.fdkankan.scene.service.IFdkkLaserService;
 import lombok.Data;
 import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
@@ -12,11 +14,18 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 @Service
 @Service
+@Slf4j
 public class IFdkkLaserServiceImpl implements IFdkkLaserService {
 public class IFdkkLaserServiceImpl implements IFdkkLaserService {
 
 
     private final String UPDATE_SCENE_STATUS_URL_TEMPLATE="/indoor/%s/scene/useStatus/%s";
     private final String UPDATE_SCENE_STATUS_URL_TEMPLATE="/indoor/%s/scene/useStatus/%s";
+    private final String DISABLE_COOPERATION_SCENE_URL="/laser/4dage/scene/cooperation/disable";
+    private final String ENABLE_COOPERATION_CAMERA_URL="/laser/4dage/scene/cooperation/cameraSave";
 
 
     @Value("${4dkk.laserService.host}")
     @Value("${4dkk.laserService.host}")
     private String laserHost;
     private String laserHost;
@@ -34,6 +43,45 @@ public class IFdkkLaserServiceImpl implements IFdkkLaserService {
         }
         }
     }
     }
 
 
+    /**
+     * 自研激光转台取消协作
+     */
+    @Override
+    public void disableCooperation(String snCode, String cooperationUserName) {
+        List<Map<String,String>> params = new ArrayList<>();
+        Map<String,String> param = new HashMap<>();
+        param.put("snCode",snCode);
+        param.put("cooperationUserName",cooperationUserName);
+        params.add(param);
+
+        String url = laserHost + DISABLE_COOPERATION_SCENE_URL;
+        log.info("自研激光转台取消协作,url:{},params:{}",DISABLE_COOPERATION_SCENE_URL, JSONObject.toJSONString(params));
+        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
+        log.info("自研激光转台相机同步,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
+        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
+            log.error("激光场景状态同步失败!");
+        }
+    }
+    /**
+     * 自研激光转台添加协作
+     */
+    @Override
+    public void enableCameraCooperation(String snCode, String cooperationUserName) {
+        List<Map<String,String>> params = new ArrayList<>();
+        Map<String,String> param = new HashMap<>();
+        param.put("snCode",snCode);
+        param.put("cooperationUserName",cooperationUserName);
+        params.add(param);
+
+        String url = laserHost + ENABLE_COOPERATION_CAMERA_URL;
+        log.info("自研激光转台相机协作,url:{},params:{}",ENABLE_COOPERATION_CAMERA_URL, JSONObject.toJSONString(params));
+        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
+        log.info("自研激光转台相机协作,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
+        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
+            log.error("自研激光转台相机协作失败!");
+        }
+    }
+
     @Data
     @Data
     public static class Result<T> implements Serializable {
     public static class Result<T> implements Serializable {
         private static final long serialVersionUID = -1491499610244557029L;
         private static final long serialVersionUID = -1491499610244557029L;

+ 47 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneCooperationServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.service.impl;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,34 +11,21 @@ import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.util.PageInfoUtils;
 import com.fdkankan.common.util.PageInfoUtils;
-import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.dto.Camera;
 import com.fdkankan.platform.api.dto.Camera;
-import com.fdkankan.scene.entity.Folder;
-import com.fdkankan.scene.entity.SceneCooperation;
-import com.fdkankan.scene.entity.SceneEditInfoExt;
-import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.entity.SceneProPO;
+import com.fdkankan.platform.api.feign.PlatformGoodsClient;
+import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.mapper.ISceneCooperationMapper;
 import com.fdkankan.scene.mapper.ISceneCooperationMapper;
 import com.fdkankan.scene.mapper.ISceneProMapper;
 import com.fdkankan.scene.mapper.ISceneProMapper;
-import com.fdkankan.scene.service.IFolderSceneService;
-import com.fdkankan.scene.service.IFolderService;
-import com.fdkankan.scene.service.ISceneCooperationService;
-import com.fdkankan.scene.service.ISceneEditInfoExtService;
-import com.fdkankan.scene.service.ISceneProService;
-import com.fdkankan.scene.service.ISceneResourceService;
-import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.SceneCooperationParamVO;
 import com.fdkankan.scene.vo.SceneCooperationParamVO;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneVO;
 import com.fdkankan.scene.vo.SceneVO;
-import java.util.ArrayList;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
-
-import java.util.Calendar;
-import java.util.List;
-import java.util.Objects;
 import org.springframework.util.ObjectUtils;
 import org.springframework.util.ObjectUtils;
 
 
+import java.util.*;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -67,6 +55,8 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     ISceneService sceneService;
     ISceneService sceneService;
     @Autowired
     @Autowired
     ISceneEditInfoExtService sceneEditInfoExtService;
     ISceneEditInfoExtService sceneEditInfoExtService;
+    @Autowired
+    ISceneResourceCooperationService sceneResourceCooperationService;
 
 
     @Override
     @Override
     public void updateRecStatus(String sceneNum) {
     public void updateRecStatus(String sceneNum) {
@@ -215,4 +205,43 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         });
         });
         return page;
         return page;
     }
     }
+
+    @Override
+    public List<SceneCooperation> getListByNums(List<String> numList) {
+        return this.list(new LambdaQueryWrapper<SceneCooperation>().in(SceneCooperation::getNum,numList));
+    }
+
+    @Override
+    public void updateRecStatusList(List<Long> ids) {
+        this.update(new LambdaUpdateWrapper<SceneCooperation>()
+                .set(SceneCooperation::getTbStatus,TbStatus.DELETE.code())
+                .in(SceneCooperation::getId,ids));
+    }
+
+    @Override
+    public void saveByResourceIds(List<SceneProPO> sceneProList, Long cameraId, String resourceIds,Long userId) {
+        List<SceneResourceCooperation> sceneResourceCooperationEntityList = new ArrayList<>();
+
+        for (SceneProPO sceneProEntity : sceneProList) {
+            //保存相机下新的场景关联关系
+            SceneCooperation sceneCooperationEntity = new SceneCooperation();
+            sceneCooperationEntity.setUserId(userId);
+            sceneCooperationEntity.setNum(sceneProEntity.getNum());
+            this.save(sceneCooperationEntity);
+
+            if(StringUtil.isNotEmpty(resourceIds)){
+                SceneResourceCooperation sceneResourceCooperationEntity = null;
+                String[] ids = resourceIds.split(",");
+                for(String resourceId : ids){
+                    sceneResourceCooperationEntity = new SceneResourceCooperation();
+                    sceneResourceCooperationEntity.setSceneResourceId(Long.valueOf(resourceId));
+                    sceneResourceCooperationEntity.setSceneCooperationId(sceneCooperationEntity.getId());
+                    sceneResourceCooperationEntityList.add(sceneResourceCooperationEntity);
+                }
+            }
+        }
+        if(sceneResourceCooperationEntityList.size()>0){
+            sceneResourceCooperationService.saveBatch(sceneResourceCooperationEntityList);
+        }
+    }
 }
 }

+ 1 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java

@@ -54,6 +54,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<ISceneEditInfoExtMa
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
         }
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
         SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
+        sceneEditInfoService.upgradeVersionById(sceneEditInfo.getId());
         SceneEditInfoExt sceneEditInfoExt = this.getByEditInfoId(sceneEditInfo.getId());
         SceneEditInfoExt sceneEditInfoExt = this.getByEditInfoId(sceneEditInfo.getId());
         sceneEditInfoExt.setTours(tours);
         sceneEditInfoExt.setTours(tours);
         this.updateById(sceneEditInfoExt);
         this.updateById(sceneEditInfoExt);

+ 97 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -37,7 +37,6 @@ import com.fdkankan.scene.entity.SceneEditInfoExt;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.entity.ScenePlusExt;
 import com.fdkankan.scene.entity.ScenePro;
 import com.fdkankan.scene.entity.ScenePro;
-import com.fdkankan.scene.entity.SceneProExt;
 import com.fdkankan.scene.factory.FloorLogoHandlerFactory;
 import com.fdkankan.scene.factory.FloorLogoHandlerFactory;
 import com.fdkankan.scene.factory.MusicHandlerFactory;
 import com.fdkankan.scene.factory.MusicHandlerFactory;
 import com.fdkankan.scene.factory.ScreenshotHandlerFactory;
 import com.fdkankan.scene.factory.ScreenshotHandlerFactory;
@@ -50,12 +49,10 @@ import com.fdkankan.scene.service.IScenePlusExtService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.IScenePlusService;
 import com.fdkankan.scene.service.ISceneProExtService;
 import com.fdkankan.scene.service.ISceneProExtService;
 import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.scene.service.ISceneProService;
-import com.fdkankan.scene.service.impl.IFdkkLaserServiceImpl.Result;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.scene.vo.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.google.errorprone.annotations.Var;
 import com.google.errorprone.annotations.Var;
 import java.io.File;
 import java.io.File;
-import java.io.FileInputStream;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -64,7 +61,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
 import java.util.UUID;
 import java.util.UUID;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
-import javax.sound.sampled.AudioSystem;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
@@ -1069,7 +1065,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
     }
 
 
     @Override
     @Override
-    public ResultData deleteVideoBox(DeleteVidoeBoxParamVO param) throws Exception {
+    public ResultData deleteVideoBox(DeleteSidParamVO param) throws Exception {
 
 
 //        ScenePro scenePro = sceneProService.findBySceneNum(param.getNum());
 //        ScenePro scenePro = sceneProService.findBySceneNum(param.getNum());
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
@@ -1088,6 +1084,47 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
     }
 
 
     @Override
     @Override
+    public ResultData saveBoxPhoto(BaseDataParamVO param){
+
+        JSONObject boxPhoto = JSONObject.parseObject(param.getData());
+        String sid = boxPhoto.getString("sid");
+        if(StrUtil.isEmpty(sid)){
+            throw new BusinessException(ServerCode.PARAM_REQUIRED, sid);
+        }
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+        if(Objects.isNull(scenePlus))
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+
+        SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
+
+        //生成boxVideos数据
+        String boxPhotos = this.createBoxPhotos(sid, boxPhoto, sceneEditInfo, OperationType.ADDORUPDATE.code());
+
+        //更新数据库
+        this.updateBoxPhotos(sceneEditInfo, boxPhotos);
+
+        return ResultData.ok();
+    }
+
+    @Override
+    public ResultData deleteBoxPhoto(DeleteSidParamVO param){
+
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(param.getNum());
+        if(Objects.isNull(scenePlus))
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+
+        SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
+
+        //根据sid移除json
+        String boxPhotos = this.createBoxPhotos(param.getSid(), null, sceneEditInfo, OperationType.DELETE.code());
+
+        //写数据库
+        this.updateBoxPhotos(sceneEditInfo, boxPhotos);
+
+        return ResultData.ok();
+    }
+
+    @Override
     public DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param) {
     public DownloadVO downloadBallScreenVideo(BallScreenVideoParamVO param) {
         String videoPath = String.format(UploadFilePath.VIDEOS_VIEW_PATH, param.getNum()) + param.getFileName();
         String videoPath = String.format(UploadFilePath.VIDEOS_VIEW_PATH, param.getNum()) + param.getFileName();
         String url = ossUrlPrefix + videoPath + "?t=" + System.currentTimeMillis();
         String url = ossUrlPrefix + videoPath + "?t=" + System.currentTimeMillis();
@@ -1386,6 +1423,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
         }
     }
     }
 
 
+    private void updateBoxPhotos(SceneEditInfo sceneEditInfo, String boxPhotos){
+        this.update(new LambdaUpdateWrapper<SceneEditInfo>()
+            .set(SceneEditInfo::getBoxPhotos, boxPhotos)
+            .setSql("version = version + 1")
+            .eq(SceneEditInfo::getId, sceneEditInfo.getId()));
+    }
+
     private String createBoxVideos(String sid, JSONObject boxVideo, SceneEditInfo sceneEditInfo, int type){
     private String createBoxVideos(String sid, JSONObject boxVideo, SceneEditInfo sceneEditInfo, int type){
 
 
         String boxVideos = null;
         String boxVideos = null;
@@ -1439,6 +1483,54 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         return result;
         return result;
     }
     }
 
 
+    private String createBoxPhotos(String sid, JSONObject boxPhoto, SceneEditInfo sceneEditInfo, int type){
+
+        String boxPhotos = null;
+        if(sceneEditInfo != null){
+            boxPhotos = sceneEditInfo.getBoxPhotos();
+        }
+        JSONArray boxPhotosJson = null;
+        if (StrUtil.isNotEmpty(boxPhotos)) {
+            boxPhotosJson = JSONArray.parseArray(boxPhotos);
+        }else {
+            boxPhotosJson = new JSONArray();
+        }
+
+        String result = null;
+        //删除
+        if(type == OperationType.DELETE.code()){
+            if(boxPhotosJson.size() == 0)
+                return null;
+            for(int i=0;i<boxPhotosJson.size();++i){
+                JSONObject ele = boxPhotosJson.getJSONObject(i);
+                if(ele.getString("sid").equals(sid)){
+                    boxPhotosJson.remove(i);
+                }
+            }
+
+        }else{
+            //更新
+            boolean exist = false;
+            for(int i=0;i<boxPhotosJson.size();++i){
+                JSONObject ele = boxPhotosJson.getJSONObject(i);
+                if(ele.getString("sid").equals(sid)){
+                    boxPhotosJson.set(i, boxPhoto);
+                    exist = true;
+                }
+            }
+            //新增
+            if(!exist){
+                boxPhotosJson.add(boxPhoto);
+            }
+
+        }
+        if(boxPhotosJson.size() != 0){
+            result = boxPhotosJson.toJSONString();
+        }
+
+        return result;
+    }
+
     private void transferToFlv(String num, String fileName) throws Exception {
     private void transferToFlv(String num, String fileName) throws Exception {
 
 
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProAppServiceImpl.java

@@ -2101,7 +2101,7 @@ public class SceneProAppServiceImpl extends ServiceImpl<ISceneProMapper, ScenePr
             throw new BusinessException(ErrorCode.FAILURE_CODE_3014);
             throw new BusinessException(ErrorCode.FAILURE_CODE_3014);
         }
         }
 
 
-        return sceneProService.getSceneCount(camera.getId());
+        return sceneProService.getSceneCount(camera.getId(), null);
     }
     }
 
 
     @Override
     @Override

+ 11 - 7
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -171,13 +171,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
     }
 
 
     @Override
     @Override
-    public Long getSceneCount(Long cameraId) {
-
-        return this.count(new LambdaQueryWrapper<ScenePro>()
-                .eq(ScenePro::getCameraId, cameraId)
-                .eq(ScenePro::getTbStatus,TbStatus.VALID.code())
-                .notIn(ScenePro::getSceneType, SceneType.YJHZXNFY.code()));
-
+    public Long getSceneCount(Long cameraId,Long userId) {
+        LambdaQueryWrapper<ScenePro> queryWrapper = new LambdaQueryWrapper<ScenePro>()
+                .eq(ScenePro::getTbStatus, TbStatus.VALID.code())
+                .notIn(ScenePro::getSceneType, SceneType.YJHZXNFY.code());
+        if(cameraId !=null){
+            queryWrapper.eq(ScenePro::getCameraId ,cameraId);
+        }
+        if(userId !=null){
+            queryWrapper.eq(ScenePro::getUserId ,userId);
+        }
+        return this.count(queryWrapper);
     }
     }
 
 
     @Override
     @Override

+ 15 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceCameraServiceImpl.java

@@ -1,9 +1,9 @@
 package com.fdkankan.scene.service.impl;
 package com.fdkankan.scene.service.impl;
 
 
+import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.common.constant.RecStatus;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.scene.entity.SceneResourceCamera;
 import com.fdkankan.scene.entity.SceneResourceCamera;
 import com.fdkankan.scene.mapper.ISceneResourceCameraMapper;
 import com.fdkankan.scene.mapper.ISceneResourceCameraMapper;
@@ -36,4 +36,18 @@ public class SceneResourceCameraServiceImpl extends ServiceImpl<ISceneResourceCa
                 .eq(SceneResourceCamera::getTbStatus, TbStatus.VALID.code())
                 .eq(SceneResourceCamera::getTbStatus, TbStatus.VALID.code())
                 .eq(SceneResourceCamera::getTbStatus, TbStatus.VALID.code()).eq(SceneResourceCamera::getCameraId, id));
                 .eq(SceneResourceCamera::getTbStatus, TbStatus.VALID.code()).eq(SceneResourceCamera::getCameraId, id));
     }
     }
+
+    @Override
+    public void saveByResourceIds(Long cameraId, String resourceIds) {
+        if(StringUtil.isNotEmpty(resourceIds)){
+            SceneResourceCamera sceneResourceCameraEntity = null;
+            String[] ids = resourceIds.split(",");
+            for(String resourceId : ids){
+                sceneResourceCameraEntity = new SceneResourceCamera();
+                sceneResourceCameraEntity.setSceneResourceId(Long.valueOf(resourceId));
+                sceneResourceCameraEntity.setCameraId(cameraId);
+                this.save(sceneResourceCameraEntity);
+            }
+        }
+    }
 }
 }

+ 8 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneResourceCooperationServiceImpl.java

@@ -1,13 +1,14 @@
 package com.fdkankan.scene.service.impl;
 package com.fdkankan.scene.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.scene.entity.SceneResourceCooperation;
 import com.fdkankan.scene.entity.SceneResourceCooperation;
 import com.fdkankan.scene.mapper.ISceneResourceCooperationMapper;
 import com.fdkankan.scene.mapper.ISceneResourceCooperationMapper;
 import com.fdkankan.scene.service.ISceneResourceCooperationService;
 import com.fdkankan.scene.service.ISceneResourceCooperationService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 场景资源和协作用户关联表 服务实现类
  * 场景资源和协作用户关联表 服务实现类
@@ -23,4 +24,9 @@ public class SceneResourceCooperationServiceImpl extends ServiceImpl<ISceneResou
     public void deleteByCooperationId(Long id) {
     public void deleteByCooperationId(Long id) {
         this.remove(new LambdaQueryWrapper<SceneResourceCooperation>().eq(SceneResourceCooperation::getSceneCooperationId, id));
         this.remove(new LambdaQueryWrapper<SceneResourceCooperation>().eq(SceneResourceCooperation::getSceneCooperationId, id));
     }
     }
+
+    @Override
+    public void deleteByCooperationIds(List<Long> ids) {
+        this.remove(new LambdaQueryWrapper<SceneResourceCooperation>().in(SceneResourceCooperation::getSceneCooperationId, ids));
+    }
 }
 }

+ 87 - 11
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -7,7 +7,9 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -19,8 +21,8 @@ import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.fyun.qiniu.QiniuUpload;
 import com.fdkankan.fyun.qiniu.QiniuUpload;
-import com.fdkankan.platform.api.feign.PlatformUserClient;
 import com.fdkankan.platform.api.dto.User;
 import com.fdkankan.platform.api.dto.User;
+import com.fdkankan.platform.api.feign.PlatformUserClient;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisLockUtil;
@@ -28,16 +30,8 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.mapper.ISceneMapper;
 import com.fdkankan.scene.mapper.ISceneMapper;
 import com.fdkankan.scene.mapper.ISceneProMapper;
 import com.fdkankan.scene.mapper.ISceneProMapper;
-import com.fdkankan.scene.service.ISceneDataDownloadService;
-import com.fdkankan.scene.service.ISceneExtService;
-import com.fdkankan.scene.service.ISceneProExtService;
-import com.fdkankan.scene.service.ISceneProService;
-import com.fdkankan.scene.service.ISceneService;
-import com.fdkankan.scene.vo.BaseSceneParamVO;
-import com.fdkankan.scene.vo.SceneDataDownloadVO;
-import com.fdkankan.scene.vo.SceneEditParamVO;
-import com.fdkankan.scene.vo.SceneParamVO;
-import com.fdkankan.scene.vo.SceneVO;
+import com.fdkankan.scene.service.*;
+import com.fdkankan.scene.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
 import org.joda.time.DateTime;
@@ -1242,5 +1236,87 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
         return ResultData.ok(BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class));
         return ResultData.ok(BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class));
     }
     }
 
 
+    @Override
+    public ResultData getScenes(DeviceSceneParamVO param) {
+
+        QueryWrapper queryWrapper = new QueryWrapper();
+        if(param.getCameraType() == null || param.getCameraType() == 0){
+            queryWrapper.setEntityClass(Scene.class);
+        }else {
+            queryWrapper.setEntityClass(ScenePro.class);
+        }
+        queryWrapper.eq("tb_status",TbStatus.VALID);
+        queryWrapper.orderByDesc("create_time");
+        if (param.getCameraId() != null) {
+            if (StringUtils.isNotEmpty(param.getStartTime()) && StringUtils.isNotEmpty(param.getEndTime())) {
+                queryWrapper.between("create_time", com.fdkankan.common.util.DateUtil.convert2CST(Long.parseLong(param.getStartTime())),
+                        com.fdkankan.common.util.DateUtil.convert2CST(Long.parseLong(param.getEndTime())));
+            }
+
+            if(StringUtils.isNotEmpty(param.getSceneType())){
+                queryWrapper.eq("scene_type",param.getSceneType());
+            }else{
+                queryWrapper.ne("scene_type",99);
+            }
+            queryWrapper.eq("camera_id", param.getCameraId());
+            if(StringUtils.isNotEmpty(param.getSearchKey())){
+                queryWrapper.like("scene_name", "%" + param.getSearchKey() + "%");
+            }
+        }
+        Page page = new Page(param.getPageNum(), param.getPageSize());
+        if(param.getCameraType() == null || param.getCameraType() == 0){
+            page = this.page(page, queryWrapper);
+        }else {
+            page = sceneProService.page(page,queryWrapper);
+        }
+
+        return ResultData.ok(page);
+    }
+
+    @Override
+    public ResultData deleteScene(String sceneNum) throws IOException {
+        ScenePO bySceneNum = this.findBySceneNum(sceneNum);
+        if(bySceneNum != null){
+            UpdateWrapper<Scene> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda()
+                    .eq(Scene::getNum,sceneNum).set(Scene::getTbStatus,TbStatus.DELETE.code());
+            sceneService.update(updateWrapper);
+            return ResultData.ok();
+        }
+        UpdateWrapper<ScenePro> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda()
+                .eq(ScenePro::getNum,sceneNum).set(ScenePro::getTbStatus,TbStatus.DELETE.code());
+        sceneProService.update(updateWrapper);
+
+        ScenePro sceneProEntity = sceneProService.findBySceneNum(sceneNum);
+
+        JSONObject statusJson = new JSONObject();
+        //临时将-2改成1,app还没完全更新
+        statusJson.put("status", sceneProEntity.getSceneStatus() == -2? 1 : sceneProEntity.getSceneStatus());
+        statusJson.put("webSite", sceneProEntity.getWebSite());
+        statusJson.put("sceneNum", sceneProEntity.getNum());
+        statusJson.put("thumb", sceneProEntity.getThumb());
+        statusJson.put("payStatus", sceneProEntity.getPayStatus());
+        statusJson.put("recStatus", sceneProEntity.getTbStatus() == 0 ? "A" :"I");
+        FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json", statusJson.toString());
+        uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
+                "data/data"+sceneNum+File.separator+"status.json");
+
+        return ResultData.ok();
+
+    }
 
 
+    @Override
+    public Long getSceneCount(Long cameraId,Long userId) {
+        LambdaQueryWrapper<Scene> queryWrapper = new LambdaQueryWrapper<Scene>()
+                .eq(Scene::getTbStatus, TbStatus.VALID.code())
+                .notIn(Scene::getSceneType, SceneType.YJHZXNFY.code());
+        if(cameraId !=null){
+            queryWrapper.eq(Scene::getCameraId ,cameraId);
+        }
+        if(userId !=null){
+            queryWrapper.eq(Scene::getUserId ,userId);
+        }
+        return this.count(queryWrapper);
+    }
 }
 }

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/DeleteVidoeBoxParamVO.java

@@ -12,7 +12,7 @@ import lombok.Data;
  * @since 2022/2/18
  * @since 2022/2/18
  **/
  **/
 @Data
 @Data
-public class DeleteVidoeBoxParamVO{
+public class DeleteSidParamVO {
 
 
     @NotBlank(message = "场景码不能为空")
     @NotBlank(message = "场景码不能为空")
     private String num;
     private String num;

+ 28 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/DeviceSceneParamVO.java

@@ -0,0 +1,28 @@
+package com.fdkankan.scene.vo;
+
+import com.fdkankan.common.request.RequestBase;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class DeviceSceneParamVO extends RequestBase implements Serializable {
+
+    private static final long serialVersionUID = 5251625920621810844L;
+
+    private Long cameraId;
+
+    private String searchKey;
+
+    private Integer cameraType;
+
+    private String recStatus;
+
+    private String sceneType;
+
+    private String startTime;
+
+    private String endTime;
+
+    private String sceneNum;
+}

+ 5 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -118,9 +118,13 @@ public class SceneInfoVO {
     private String sceneFrom;
     private String sceneFrom;
 
 
     /**
     /**
-     * 视频覆盖数据
+     * 空间视频数据
      */
      */
     private String boxVideos;
     private String boxVideos;
+    /**
+     * 空间贴图数据
+     */
+    private String boxPhotos;
 
 
     /**
     /**
      *点位视频
      *点位视频