瀏覽代碼

Merge remote-tracking branch 'origin/test'

dengsixing 1 周之前
父節點
當前提交
fdef9f84a8
共有 39 個文件被更改,包括 433 次插入96 次删除
  1. 15 0
      README.md
  2. 二進制
      doc/sign加密文档.doc
  3. 18 1
      src/main/java/com/fdkankan/ucenter/common/SceneSourceUtil.java
  4. 14 0
      src/main/java/com/fdkankan/ucenter/config/UcenterConfig.java
  5. 58 6
      src/main/java/com/fdkankan/ucenter/controller/TestController.java
  6. 3 0
      src/main/java/com/fdkankan/ucenter/controller/api/LaserController.java
  7. 10 0
      src/main/java/com/fdkankan/ucenter/controller/inner/InnerController.java
  8. 6 0
      src/main/java/com/fdkankan/ucenter/entity/Folder.java
  9. 0 5
      src/main/java/com/fdkankan/ucenter/httpClient/client/LaserClient.java
  10. 5 16
      src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java
  11. 2 1
      src/main/java/com/fdkankan/ucenter/mapper/IFolderSceneMapper.java
  12. 4 0
      src/main/java/com/fdkankan/ucenter/mapper/IScenePlusMapper.java
  13. 13 0
      src/main/java/com/fdkankan/ucenter/mq/common/MqQueueUtil.java
  14. 52 0
      src/main/java/com/fdkankan/ucenter/mq/consumer/DeleteSceneConsumer.java
  15. 57 0
      src/main/java/com/fdkankan/ucenter/mq/consumer/UpdateSceneStatusConsumer.java
  16. 2 1
      src/main/java/com/fdkankan/ucenter/service/IFolderSceneService.java
  17. 2 0
      src/main/java/com/fdkankan/ucenter/service/IInnerService.java
  18. 5 0
      src/main/java/com/fdkankan/ucenter/service/IScenePlusService.java
  19. 1 0
      src/main/java/com/fdkankan/ucenter/service/impl/AppCameraService.java
  20. 2 1
      src/main/java/com/fdkankan/ucenter/service/impl/AppSceneService.java
  21. 3 0
      src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java
  22. 5 2
      src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java
  23. 6 1
      src/main/java/com/fdkankan/ucenter/service/impl/FolderSceneServiceImpl.java
  24. 7 8
      src/main/java/com/fdkankan/ucenter/service/impl/FolderServiceImpl.java
  25. 20 0
      src/main/java/com/fdkankan/ucenter/service/impl/InnerServiceImpl.java
  26. 2 2
      src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java
  27. 10 2
      src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java
  28. 45 15
      src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java
  29. 5 12
      src/main/java/com/fdkankan/ucenter/service/impl/UserServiceImpl.java
  30. 3 0
      src/main/java/com/fdkankan/ucenter/vo/LaserSceneVo.java
  31. 6 15
      src/main/java/com/fdkankan/ucenter/vo/RelicsSceneInitQueueDTO.java
  32. 1 1
      src/main/java/com/fdkankan/ucenter/vo/request/AppSceneParam.java
  33. 3 0
      src/main/java/com/fdkankan/ucenter/vo/request/FolderParam.java
  34. 13 0
      src/main/java/com/fdkankan/ucenter/vo/request/LaserSceneParam.java
  35. 1 1
      src/main/java/com/fdkankan/ucenter/vo/request/SceneParam.java
  36. 1 0
      src/main/java/com/fdkankan/ucenter/vo/response/SceneVo.java
  37. 10 1
      src/main/resources/mapper/ucenter/FolderSceneMapper.xml
  38. 18 0
      src/main/resources/mapper/ucenter/ScenePlusMapper.xml
  39. 5 5
      src/main/resources/mapper/ucenter/SceneProMapper.xml

+ 15 - 0
README.md

@@ -48,3 +48,18 @@ http://120.25.146.52:3090/project/228/interface/api/cat_2077
     通过token获取用户数据,无法越过token获取其他数据,用户Id强校验
 ~~~~
 
+
+~~~~
+1, 文件夹相关接口 folderType 40未深时点云文件夹,50为深光点云,570未e57点云 ,7深寻
+
+2. /ucenter/user/folder/move 
+sceneIds改为numList,取值从场景id改为num。结构从字符串逗号隔开,改为数组
+   
+3, /ucenter/user/scene/newList  
+    sceneSouce 4深时,5深光, 7 为深寻
+    接口isObj ,0为点云场景,1mesh场景
+    
+4.协作相关接口 添加参数sceneType  mesh,laser 
+
+5.findSceneNumber 接口返回添加  sx  key 
+~~~~

二進制
doc/sign加密文档.doc


+ 18 - 1
src/main/java/com/fdkankan/ucenter/common/SceneSourceUtil.java

@@ -5,7 +5,24 @@ import java.util.List;
 
 public class SceneSourceUtil {
 
+    public static List<Integer> LaserSceneSource = Arrays.asList(4,5,7,57);
     public static List<Integer> getLaserList(){
-        return Arrays.asList(4,5,57);
+        return LaserSceneSource;
+    }
+
+    public static boolean isLaser(Integer sceneSource) {
+        return LaserSceneSource.contains(sceneSource);
+    }
+    public static boolean isLaser(List<String> sceneSource) {
+        try {
+            for (String s : sceneSource) {
+                if(LaserSceneSource.contains(Integer.valueOf(s))){
+                    return true;
+                }
+            }
+        }catch (Exception e){
+
+        }
+        return false;
     }
 }

+ 14 - 0
src/main/java/com/fdkankan/ucenter/config/UcenterConfig.java

@@ -0,0 +1,14 @@
+package com.fdkankan.ucenter.config;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+@Data
+@Configuration
+public class UcenterConfig {
+    @Value("${4dkk.laserService.basePath}")
+    private String basePath;
+    @Value("${spring.profiles.active}")
+    private String active;
+}

+ 58 - 6
src/main/java/com/fdkankan/ucenter/controller/TestController.java

@@ -35,8 +35,6 @@ import java.util.*;
 @RequestMapping("/ucenter/test")
 public class TestController extends BaseController {
 
-
-
     @Autowired
     IAppSecretService appSecretService;
 
@@ -55,10 +53,64 @@ public class TestController extends BaseController {
         return ResultData.ok();
     }
 
-    public static void main(String[] args) {
-        String res = "kGrSGgjqIzNDU25JvSsQZAMTEyadJ8wC";
-        String password = Base64Converter.decode(Base64Converter.subText(res));
 
-        System.out.println(password);
+    @Autowired
+    IFolderService folderService;
+    @Autowired
+    IFolderSceneService folderSceneService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    ISceneProService sceneProService;
+
+
+    @GetMapping("/updateFolder")
+    public ResultData updateFolder(){
+        LambdaQueryWrapper<Folder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.isNotNull(Folder::getLaserParentId);
+        List<Folder> list = folderService.list(wrapper);
+
+        HashMap<Long,Long> map = new HashMap<>();
+        for (Folder folder : list) {
+            map.put(folder.getLaserId(),folder.getId());
+        }
+        for (Folder folder : list) {
+            Long newParentId = map.get(folder.getLaserParentId());
+            if(newParentId == null){
+                continue;
+            }
+            LambdaUpdateWrapper<Folder> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(Folder::getId,folder.getId());
+            updateWrapper.set(Folder::getParentId,newParentId);
+            folderService.update(updateWrapper);
+        }
+
+        return ResultData.ok();
     }
+
+    @GetMapping("/updateFolderScene")
+    public ResultData updateFolderScene(){
+//        List<FolderScene> list = folderSceneService.list();
+//        for (FolderScene folderScene : list) {
+//            String num = null;
+//            ScenePro scenePro = sceneProService.getById(folderScene.getSceneId());
+//            if(scenePro !=null){
+//                num = scenePro.getNum();
+//            }else {
+//                ScenePlus scenePlus = scenePlusService.getById(folderScene.getSceneId());
+//                if(scenePlus != null){
+//                    num = scenePlus.getNum();
+//                }
+//            }
+//
+//            LambdaUpdateWrapper<FolderScene> wrapper = new LambdaUpdateWrapper<>();
+//            wrapper.eq(FolderScene::getId,folderScene.getId());
+//            wrapper.set(FolderScene::getNum,num);
+//            folderSceneService.update(wrapper);
+//        }
+
+        return ResultData.ok();
+    }
+
+
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/controller/api/LaserController.java

@@ -113,10 +113,13 @@ public class LaserController extends BaseController {
         ScenePlus scenePlus = scenePlusService.getByNum(num);
         if(scenePlus != null){
             vo.setNum(scenePlus.getNum());
+            vo.setTitle(scenePlus.getTitle());
+            vo.setCreateTime(scenePlus.getCreateTime());
             userId = scenePlus.getUserId();
             ScenePlusExt byPlusId = scenePlusExtService.getByPlusId(scenePlus.getId());
             if(byPlusId !=null){
                 vo.setShootCount(byPlusId.getShootCount());
+                vo.setAlgorithmTime(byPlusId.getAlgorithmTime());
             }
         }
         if(userId != null){

+ 10 - 0
src/main/java/com/fdkankan/ucenter/controller/inner/InnerController.java

@@ -16,6 +16,7 @@ import com.fdkankan.ucenter.service.IAppSecretService;
 import com.fdkankan.ucenter.service.IInnerService;
 import com.fdkankan.ucenter.service.IUserService;
 import com.fdkankan.ucenter.service.impl.LoginService;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -137,6 +138,15 @@ public class InnerController extends BaseController {
         return Result.success(innerService.getSceneBySnCode(param));
     }
 
+    @PostMapping(value = "/getSceneByToken")
+    @VerifySign
+    public Result getSceneByToken( @RequestBody LaserSceneParam param) {
+        if(StringUtils.isBlank(getToken())){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        return Result.success(innerService.getSceneByToken(param,getToken()));
+    }
+
     @Autowired
     RedisUtil redisUtil;
     @GetMapping(value = "/pdsfsdfsrvateddsfeky/{appId}")

+ 6 - 0
src/main/java/com/fdkankan/ucenter/entity/Folder.java

@@ -52,6 +52,12 @@ public class Folder implements Serializable {
     @TableField("parent_id")
     private Long parentId;
 
+    @TableField("laser_id")
+    private Long laserId;
+
+    @TableField("laser_parent_id")
+    private Long laserParentId;
+
     @TableField("rec_status")
     @TableLogic(value = "A",delval = "I")
     private String recStatus;

+ 0 - 5
src/main/java/com/fdkankan/ucenter/httpClient/client/LaserClient.java

@@ -48,11 +48,6 @@ public interface LaserClient {
     /**
      * 新增场景
      */
-    @Post(value = "/laser/init/{sceneNum}/saveOrEdit",interceptor = SignInterceptor.class)
-    Result saveOrEdit(@Var("sceneNum") String sceneNum, @JSONBody  Map<String,Object> params);
-    /**
-     * 新增场景
-     */
     @Post(value = "/laser/4dage/scene/getScenesBySnCode",interceptor = SignInterceptor.class)
     Result getScenesBySnCode(@JSONBody Map<String, String> param, @Header("fdToken") String token) ;
 

+ 5 - 16
src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java

@@ -18,6 +18,7 @@ import com.fdkankan.ucenter.httpClient.param.SsBindParam;
 import com.fdkankan.ucenter.httpClient.vo.LaserSceneParam;
 import com.fdkankan.ucenter.httpClient.vo.SSDownSceneVo;
 import com.fdkankan.ucenter.httpClient.vo.SceneStatusInfoDTO;
+import com.fdkankan.ucenter.mq.common.MqQueueUtil;
 import com.fdkankan.ucenter.service.ICameraService;
 import com.fdkankan.ucenter.service.ICameraTypeService;
 import com.fdkankan.ucenter.service.IUserService;
@@ -31,10 +32,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 @Slf4j
@@ -245,18 +243,9 @@ public class LaserService {
     }
 
     public void delete(String num) {
-        try {
-            Map<String,Object> params = new HashMap<>();
-            params.put("sceneCode", num);
-            params.put("status", -1);
-            Result result = laserClient.saveOrEdit(num, params);
-            if(result.getCode() != HttpStatus.OK.value()){
-                throw new BusinessException(-1,"激光场景状态同步失败");
-            }
-        }catch (Exception e){
-            log.error("激光场景状态同步失败!",e);
-            throw new BusinessException(-1,e.getMessage());
-        }
+        HashMap<String,Object> map = new HashMap<>();
+        map.put("numList",Arrays.asList(num));
+        rabbitMqProducer.sendByWorkQueue(MqQueueUtil.laserDeleteScene,map);
 
     }
 

+ 2 - 1
src/main/java/com/fdkankan/ucenter/mapper/IFolderSceneMapper.java

@@ -19,7 +19,8 @@ import java.util.List;
 @Mapper
 public interface IFolderSceneMapper extends BaseMapper<FolderScene> {
 
-    FolderScene getByType(@Param("sceneId")Long sceneId, @Param("type")Integer type);
+    FolderScene getByTypeNum(@Param("num")String num, @Param("type")Integer type);
+    FolderScene getByType(@Param("sceneId")String sceneId, @Param("type")Integer type);
 
     List<GroupByCount> getGroupByFolderIds(@Param("folderIds") List<Long> folderIds);
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/mapper/IScenePlusMapper.java

@@ -3,7 +3,9 @@ package com.fdkankan.ucenter.mapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.ucenter.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.ucenter.vo.RelicsSceneInitQueueDTO;
 import com.fdkankan.ucenter.vo.request.AppSceneParam;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.response.AppSceneVo;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -32,4 +34,6 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
     List<SceneNumVo> getGroupBySceneSouceV3(@Param("userId")Long userId);
 
     List<ScenePlus> getCountByUserIdAndSceneSource(@Param("userId")Long userId,@Param("sceneSourceList") List<Integer> sceneSourceList, @Param("isObj")Integer isObj);
+
+    Page<RelicsSceneInitQueueDTO> pageLaserScene(Page<RelicsSceneInitQueueDTO> page, LaserSceneParam param);
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/mq/common/MqQueueUtil.java

@@ -0,0 +1,13 @@
+package com.fdkankan.ucenter.mq.common;
+
+public class MqQueueUtil {
+
+    public static String ucenterScenePayStatusQueue = "scene-pay-status";
+    public static String sceneRestoreQueue = "scene-rest-store";
+    public static String laserUnfreezeScene = "laser-unfreeze-scene";
+    public static String laserMoveQueue = "laser-migrate-scene";
+    public static String laserMoveWenBaoQueue = "relics-migrate-scene-queue";
+    public static String laserMoveWenBaoQueue2 = "pano-migrate-scene-queue";
+    public static String RECOVER_SCENE = "recover-scene";
+    public static String laserDeleteScene = "laser-delete-scene";
+}

+ 52 - 0
src/main/java/com/fdkankan/ucenter/mq/consumer/DeleteSceneConsumer.java

@@ -0,0 +1,52 @@
+package com.fdkankan.ucenter.mq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.ucenter.entity.ScenePlus;
+import com.fdkankan.ucenter.service.IScenePlusService;
+import com.fdkankan.ucenter.service.ISceneProService;
+import com.rabbitmq.client.Channel;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * 场景封存解封 mq
+ */
+@Slf4j
+@Component
+public class DeleteSceneConsumer {
+
+    @Autowired
+    ISceneProService sceneProService;
+    @RabbitListener(
+            queuesToDeclare = @Queue("${queue.scene.delete:delete-scene}")
+            ,concurrency = "1"
+    )
+    public void consumerQueue(Channel channel, Message message)  {
+        try {
+            String messageId = message.getMessageProperties().getMessageId();
+            String msg = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("delete-scene--messageId:{},msg:{}",messageId,msg);
+
+            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+
+            JSONObject jsonObject = JSONObject.parseObject(msg);
+            String num = jsonObject.getString("sceneNum");
+            if(StringUtils.isNotBlank(num)){
+                sceneProService.delete(num,null, null);
+            }
+
+        }catch (Exception e){
+            log.info("delete-scene---消费失败",e);
+        }
+
+    }
+
+}

+ 57 - 0
src/main/java/com/fdkankan/ucenter/mq/consumer/UpdateSceneStatusConsumer.java

@@ -0,0 +1,57 @@
+package com.fdkankan.ucenter.mq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.ucenter.entity.ScenePlus;
+import com.fdkankan.ucenter.service.IScenePlusService;
+import com.fdkankan.ucenter.service.impl.SceneCommonService;
+import com.rabbitmq.client.Channel;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * 场景封存解封 mq
+ */
+@Slf4j
+@Component
+public class UpdateSceneStatusConsumer {
+
+    @Autowired
+    IScenePlusService scenePlusService;
+    @RabbitListener(
+            queuesToDeclare = @Queue("${queue.scene.laser.title:update-scene-title}")
+            ,concurrency = "1"
+    )
+    public void consumerQueue(Channel channel, Message message)  {
+        try {
+            String messageId = message.getMessageProperties().getMessageId();
+            String msg = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("update-scene-title--messageId:{},msg:{}",messageId,msg);
+
+            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+
+            JSONObject jsonObject = JSONObject.parseObject(msg);
+            String num = jsonObject.getString("sceneNum");
+            String title = jsonObject.getString("sceneNewTitle");
+            if(StringUtils.isNotBlank(num) && StringUtils.isNotBlank(title)){
+                LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
+                wrapper.eq(ScenePlus::getNum,num);
+                wrapper.set(ScenePlus::getTitle,title);
+                scenePlusService.update(wrapper);
+            }
+
+        }catch (Exception e){
+            log.info("update-scene-title-ucent----消费失败",e);
+        }
+
+    }
+
+}

+ 2 - 1
src/main/java/com/fdkankan/ucenter/service/IFolderSceneService.java

@@ -19,7 +19,8 @@ public interface IFolderSceneService extends IService<FolderScene> {
 
     void deleteByFolderIds(List<Long> delIds,Long userId);
 
-    FolderScene getByType(Long sceneId, Integer type);
+    FolderScene getByTypeNum(String num, Integer type);
+    FolderScene getByType(String sceneId, Integer type);
 
     HashMap<Long, Long> getGroupByFolderIds(List<Folder> folderIds);
 

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IInnerService.java

@@ -1,6 +1,7 @@
 package com.fdkankan.ucenter.service;
 
 import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import com.fdkankan.ucenter.vo.response.LaserSceneInfoVo;
 
@@ -30,4 +31,5 @@ public interface IInnerService {
 
     Object getSceneBySnCode(SceneParam param);
 
+    Object getSceneByToken(LaserSceneParam param, String token);
 }

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/IScenePlusService.java

@@ -1,12 +1,15 @@
 package com.fdkankan.ucenter.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.entity.CameraDetail;
 import com.fdkankan.ucenter.entity.CameraType;
 import com.fdkankan.ucenter.entity.ScenePlus;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.RelicsSceneInitQueueDTO;
 import com.fdkankan.ucenter.vo.ResponseScene;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.RequestScene;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -59,4 +62,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     List<SceneNumVo> getGroupBySceneSouceV3(Long userId);
 
     List<ScenePlus> getCountByUserIdAndSceneSource(Long userId, List<Integer> sceneSourceList, Integer isObj);
+
+    Page<RelicsSceneInitQueueDTO> pageLaserScene(Page<RelicsSceneInitQueueDTO> objectPage, LaserSceneParam param);
 }

+ 1 - 0
src/main/java/com/fdkankan/ucenter/service/impl/AppCameraService.java

@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigInteger;
+import java.net.URLDecoder;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;

+ 2 - 1
src/main/java/com/fdkankan/ucenter/service/impl/AppSceneService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.ucenter.common.BaseController;
+import com.fdkankan.ucenter.common.SceneSourceUtil;
 import com.fdkankan.ucenter.common.constants.ConstantFilePath;
 import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
@@ -328,7 +329,7 @@ public class AppSceneService extends BaseController {
         }
         sceneProService.deleteByList(proList,plusList,userId, null);
 
-        if(sceneSource != null && (sceneSource == 4 || sceneSource == 5)){
+        if(sceneSource != null && (SceneSourceUtil.isLaser(sceneSource))){
             laserService.delete(sceneNum);
         }
     }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java

@@ -191,6 +191,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     public void addUsedSpace(HashMap<Long, Long> cameraMap) {
         Set<Long> cameraIds = cameraMap.keySet();
         LambdaQueryWrapper<CameraDetail> wrapper = new LambdaQueryWrapper<>();
+        if(cameraIds.isEmpty()){
+            return;
+        }
         wrapper.in(CameraDetail::getCameraId,cameraIds);
         List<CameraDetail> list = this.list(wrapper);
         for (CameraDetail cameraDetail : list) {

+ 5 - 2
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -420,9 +420,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
                 vo.setUnit(detailEntity.getUnit());
                 if (detailEntity.getType() != 0){
                     if("GB".equals(detailEntity.getUnit())){
-                        vo.setUsedSpace(Double.valueOf(FileSizeUtil.formetFileSize(detailEntity.getUsedSpace().longValue(), FileSizeUtil.SIZETYPE_GB)).intValue() +"" );
+                        Long proSpace = sceneProService.getSpaceSumByCameraId(cameraEntity.getId());
+                        Long plusSpace = scenePlusService.getSpaceSumByCameraId(cameraEntity.getId());
+                        Long space = (plusSpace == null ?0L:plusSpace) + (proSpace == null ?0L:proSpace);
+                        vo.setUsedSpace(Double.valueOf(FileSizeUtil.formetFileSize(space, FileSizeUtil.SIZETYPE_GB)).intValue() +"" );
                         vo.setTotalSpace(Double.valueOf(FileSizeUtil.formetFileSize(detailEntity.getTotalSpace().longValue(), FileSizeUtil.SIZETYPE_GB)).intValue() +"");
-                        vo.setUsedSpaceStr(FileSizeUtil.formatFileSize(detailEntity.getUsedSpace().longValue()));
+                        vo.setUsedSpaceStr(FileSizeUtil.formatFileSize(space));
                         vo.setTotalSpaceStr(FileSizeUtil.formatFileSize(detailEntity.getTotalSpace().longValue()));
                     }
                     if("SP".equals(detailEntity.getUnit())){

+ 6 - 1
src/main/java/com/fdkankan/ucenter/service/impl/FolderSceneServiceImpl.java

@@ -49,7 +49,12 @@ public class FolderSceneServiceImpl extends ServiceImpl<IFolderSceneMapper, Fold
     }
 
     @Override
-    public FolderScene getByType(Long sceneId, Integer type) {
+    public FolderScene getByTypeNum(String num, Integer type) {
+        return getBaseMapper().getByTypeNum(num,type);
+    }
+
+    @Override
+    public FolderScene getByType(String sceneId, Integer type) {
         return getBaseMapper().getByType(sceneId,type);
     }
 

+ 7 - 8
src/main/java/com/fdkankan/ucenter/service/impl/FolderServiceImpl.java

@@ -97,7 +97,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
 
     @Override
     public List<FolderTree> findListTree(String folderIds,Integer type, String username) {
-        if(type == null){
+        if(type == null ){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
         User user = userService.getByUserName(username);
@@ -117,7 +117,7 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
         if(StringUtils.isEmpty(param.getFolderIds()) && StringUtils.isEmpty(param.getSceneIds())){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
-        if(param.getType() == null){
+        if(param.getType() == null ){
             throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
         }
         if(StringUtils.isNotEmpty(param.getFolderIds())){
@@ -162,10 +162,9 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
 
         }
         if(StringUtils.isNotEmpty(param.getSceneIds())){
-            String[] sceneIds = param.getSceneIds().split(",");
-            FolderScene folderSceneEntity = null;
-            for (String sceneId : sceneIds) {
-                folderSceneEntity = folderSceneService.getByType(Long.valueOf(sceneId), param.getType());
+            for (String s : param.getSceneIds().split(",")) {
+                FolderScene folderSceneEntity = null;
+                folderSceneEntity = folderSceneService.getByType(s, param.getType());
                 if(folderSceneEntity != null){
                     folderSceneService.removeById(folderSceneEntity.getId());
                 }
@@ -175,11 +174,12 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
                         throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
                     }
                     folderSceneEntity = new FolderScene();
-                    folderSceneEntity.setSceneId(Long.valueOf(sceneId));
+                    folderSceneEntity.setSceneId(Long.valueOf(s));
                     folderSceneEntity.setFolderId(param.getParentId());
                     folderSceneService.save(folderSceneEntity);
                 }
             }
+
         }
 
     }
@@ -208,7 +208,6 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
         if(folderIdList.size() >0){
             wrapper.notIn(Folder::getId,folderIdList);
         }
-
         wrapper.eq(Folder::getUserId,userId)
                 .eq(Folder::getType,type);
         return this.list(wrapper);

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/impl/InnerServiceImpl.java

@@ -3,18 +3,21 @@ package com.fdkankan.ucenter.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.common.constants.ConstantFilePath;
 import com.fdkankan.ucenter.common.constants.ResultCodeMsg;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.vo.RelicsSceneInitQueueDTO;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import com.fdkankan.ucenter.vo.response.LaserSceneInfoVo;
 import lombok.extern.slf4j.Slf4j;
@@ -290,4 +293,21 @@ public class InnerServiceImpl implements IInnerService {
         dto.setShootCount(scenePlusExt.getShootCount());
         return dto;
     }
+
+    @Override
+    public Object getSceneByToken(LaserSceneParam param, String token) {
+        String username = JwtUtil.getUsername(token);
+        if(StringUtils.isBlank(username)){
+            throw new BusinessException(ErrorCode.USER_NOT_EXIST);
+        }
+        User user = userService.getByUserName(username);
+        if(user == null){
+            throw new BusinessException(ErrorCode.USER_NOT_EXIST);
+        }
+        param.setUserId(user.getId());
+        Page<RelicsSceneInitQueueDTO> page = scenePlusService.pageLaserScene(new Page<>(param.getPageNum(),param.getPageSize()),param);
+
+
+        return PageInfo.PageInfo(page);
+    }
 }

+ 2 - 2
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java

@@ -243,7 +243,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         User user = userService.getByUserName(username);
         LambdaQueryWrapper<SceneCooperation> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SceneCooperation::getUserId,user.getId());
-        wrapper.eq(SceneCooperation::getSceneType,"mesh");
+        wrapper.eq(SceneCooperation::getSceneType,param.getIsObj() == 1?"mesh":"laser");
         List<SceneCooperation> list = this.list(wrapper);
         List<String> numList = list.parallelStream().map(SceneCooperation::getSceneNum).collect(Collectors.toList());
         if(numList.size() <=0){
@@ -278,7 +278,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         List<ScenePlus> plusList = scenePlusService.getListByNums(numList);
         //this.deleteCooperationList(proList,plusList,Arrays.asList(user.getId()));
 
-        saveCooperationCommon(loginUser,param.getLang(),Arrays.asList(user),proList,plusList,null,"scene","mesh");
+        saveCooperationCommon(loginUser,param.getLang(),Arrays.asList(user),proList,plusList,null,"scene",param.getSceneType());
     }
 
     @Override

+ 10 - 2
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -16,6 +16,7 @@ import com.fdkankan.model.utils.CreateObjUtil;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
 import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.common.SceneSourceUtil;
 import com.fdkankan.ucenter.common.constants.ConstantFilePath;
 import com.fdkankan.ucenter.common.constants.ResultCodeMsg;
 import com.fdkankan.ucenter.common.constants.UploadFilePath;
@@ -34,6 +35,8 @@ import java.util.stream.Collectors;
 
 import com.fdkankan.ucenter.util.RoamingPointUtil;
 import com.fdkankan.ucenter.util.SceneResourcePath;
+import com.fdkankan.ucenter.vo.RelicsSceneInitQueueDTO;
+import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.RequestScene;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
 import com.fdkankan.ucenter.vo.response.SceneVo;
@@ -234,7 +237,7 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                 });
             }
 
-            if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+            if(SceneSourceUtil.isLaser(scenePlus.getSceneSource())){  //深时复制
                 laserService.copy(oldNum,newNum,newDataSource,true);
             }else {
                 laserService.cloudPointBuild(oldNum,newNum);
@@ -254,7 +257,7 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
 
                 sceneCommonService.updateNasSceneJson(targetData,oldNum,newNum,scenePlus.getTitle(),"v4","scene.json");
 
-                if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+                if(SceneSourceUtil.isLaser(scenePlus.getSceneSource())){  //深时复制
                     laserService.copy(oldNum,newNum,newDataSource,false);
                 }
                 String redisKey = RedisKeyUtil.laserCopyLock + newNum;
@@ -433,4 +436,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     public List<ScenePlus> getCountByUserIdAndSceneSource(Long userId, List<Integer> sceneSourceList, Integer isObj) {
         return this.getBaseMapper().getCountByUserIdAndSceneSource(userId,sceneSourceList,isObj);
     }
+
+    @Override
+    public Page<RelicsSceneInitQueueDTO> pageLaserScene(Page<RelicsSceneInitQueueDTO> objectPage, LaserSceneParam param) {
+        return this.getBaseMapper().pageLaserScene(objectPage,param);
+    }
 }

+ 45 - 15
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -21,7 +21,9 @@ import com.fdkankan.ucenter.common.OssPath;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.ucenter.common.SceneSourceUtil;
 import com.fdkankan.ucenter.common.constants.ResultCodeMsg;
+import com.fdkankan.ucenter.config.UcenterConfig;
 import com.fdkankan.ucenter.config.ThreadPoolConfig;
 import com.fdkankan.ucenter.constant.CameraConstant;
 import com.fdkankan.ucenter.constant.LoginConstant;
@@ -29,6 +31,7 @@ import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ISceneProMapper;
 import com.fdkankan.ucenter.mapper.ISceneUpgradeMapper;
+import com.fdkankan.ucenter.mq.common.MqQueueUtil;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.util.SceneResourcePath;
@@ -49,7 +52,6 @@ import org.joda.time.DateTime;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -146,6 +148,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         SceneNumVo sceneNumVoE57 = fdkkLaserService.getLaserSceneNumByUser(token,57);
         SceneNumVo sceneNumVoE57Obj = getSceneNumVoByObjType(Arrays.asList(57), user.getId());
+
+        SceneNumVo sceneNumVoSX = fdkkLaserService.getLaserSceneNumByUser(token,7);
+
         HashMap<String, SceneNumVo> hashMap = new HashMap<>();
         hashMap.put("kk",sceneNumVoKk);
         hashMap.put("kJ",sceneNumVoKj);
@@ -155,6 +160,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         hashMap.put("SG_OBJ",sceneNumVoSGObj);
         hashMap.put("e57",sceneNumVoE57);
         hashMap.put("e57_OBJ",sceneNumVoE57Obj);
+        hashMap.put("sx",sceneNumVoSX);
         return hashMap;
     }
 
@@ -510,6 +516,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         return PageInfo.PageInfo(sceneList);
     }
 
+    @Autowired
+    UcenterConfig ucenterConfig;
     @Override
     public JSONObject newList(SceneParam param, String username) {
         param.setSourceList(getSceneSource(param.getSceneSource()));
@@ -517,8 +525,20 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             User user = userService.getByUserName(username);
             param.setUserId(user.getId());
         }
-
+        if(!SceneSourceUtil.isLaser(param.getSourceList())){
+            param.setIsObj(0);
+        }
         Page<SceneVo> sceneVoPage = getBaseMapper().pageListAndFolder(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        for (SceneVo record : sceneVoPage.getRecords()) {
+            if(param.getIsObj()== 0 && SceneSourceUtil.isLaser(record.getSceneSource())){
+                if(ucenterConfig.getActive().contains("prod")){
+                    record.setWebSite(ucenterConfig.getBasePath() +"/index.html?m="+record.getNum());
+                }else {
+                    record.setWebSite(ucenterConfig.getBasePath() +"/uat/index.html?m="+record.getNum());
+                }
+                record.setSceneName(record.getLaserTitle());
+            }
+        }
 
         List<SceneVo> folderList = sceneVoPage.getRecords().parallelStream().filter(entity -> entity.getIsFolder() == 1).collect(Collectors.toList());
         Long totalSceneNum = sceneVoPage.getTotal();
@@ -542,7 +562,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         //设置协作者信息
         if(sceneVoPage.getRecords().size() >0){
             List<String> numList = sceneVoPage.getRecords().parallelStream().map(SceneVo::getNum).collect(Collectors.toList());
-            HashMap<String,List<User>> cooMap = sceneCooperationService.getByNumList(numList,"mesh");
+            HashMap<String,List<User>> cooMap = sceneCooperationService.getByNumList(numList, param.getIsObj() ==1 ?"mesh":"laser");
             for (SceneVo vo : sceneVoPage.getRecords()) {
                 if (StringUtils.isNotBlank(vo.getNum())) {
                     List<User> userVos = cooMap.get(vo.getNum());
@@ -579,7 +599,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             folderList.addAll(sceneList);
         }
         sceneVoPage.setRecords(folderList);
-        if(param.getFolderId() == null && param.getIsObj() == null ){
+        if(param.getFolderId() == null && param.getIsObj() == 0 ){
             List<String> sourceList = param.getSourceList();
             if(param.getUserId()!= null){
                 totalSceneNum = this.getCountByUserId(param.getUserId(),sourceList);
@@ -588,7 +608,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
         }else if(param.getFolderId() != null ){
             totalSceneNum = folderSceneService.getCountByFolderAndSon(param.getFolderId());
-        }else if(param.getIsObj() != null && param.getIsObj() ==1){
+        }else if(param.getIsObj() == 1){
             if(param.getUserId()!= null){
                 totalSceneNum = this.getCountByLaserAndIsObj(param.getUserId(),Integer.valueOf(param.getSceneSource()));
             }
@@ -809,7 +829,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             oldEditScene.setFloorPlanPng(oldEditScene.getFloorPlanPng() == null ? null : oldEditScene.getFloorPlanPng().replace(oldNum, scenePro.getNum()));
             sceneProEditService.save(oldEditScene);
 
-            if(scenePro.getSceneSource() == 4 || scenePro.getSceneSource() == 5) {  //深时复制
+            if(SceneSourceUtil.isLaser(scenePro.getSceneSource())) {  //深时复制
                 laserService.copy(oldNum,newNum,newDataSource,true);
             }
 
@@ -840,7 +860,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 String targetVoice = String.format(SceneResourcePath.voicePath, scenePro.getNum());
                 this.copyOssAndNas(oldNum,scenePro.getNum(),sourceVoice,targetVoice);
 
-                if(scenePro.getSceneSource() == 4 || scenePro.getSceneSource() == 5){  //深时复制
+                if(SceneSourceUtil.isLaser(scenePro.getSceneSource())){  //深时复制
                     laserService.copy(oldNum,newNum,newDataSource,false);
                 }
                 scenePro.setStatus(-2);
@@ -898,16 +918,19 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     @Override
     public void deleteByList(List<ScenePro> proList,List<ScenePlus> plusList,Long userId,String platform) {
         HashMap<Long ,Long >cameraMap = new HashMap<>();
+        List<String> laserNumList = new ArrayList<>();
+
         if(proList.size() >0){
             for (ScenePro scenePro : proList) {
                 cameraMap.merge(scenePro.getCameraId(), scenePro.getSpace(), Long::sum);
                 sceneDelLogService.saveLog(scenePro.getNum(),userId);
-                if(StringUtils.isBlank(platform)  && (scenePro.getSceneSource() == 4 || scenePro.getSceneSource() == 5 || scenePro.getSceneSource() == 57)){
-                    laserService.delete(scenePro.getNum());
-                }
             }
             List<Long> proIds = proList.parallelStream().map(ScenePro::getId).collect(Collectors.toList());
             this.removeByIds(proIds);
+            List<String> lNumList = proList.stream().filter(e -> SceneSourceUtil.isLaser(e.getSceneSource())).map(ScenePro::getNum).collect(Collectors.toList());
+            if(!lNumList.isEmpty()){
+                laserNumList.addAll(lNumList);
+            }
             folderSceneService.delBySceneId(proIds);
         }
         if(plusList.size() >0){
@@ -918,19 +941,26 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 if(scenePlus.getCameraId()!= null && plusMap.get(scenePlus.getId())!=null){
                     Long space = plusMap.get(scenePlus.getId()).getSpace() == null ? 0 :plusMap.get(scenePlus.getId()).getSpace();
                     cameraMap.merge(scenePlus.getCameraId(), space, Long::sum);
-
                 }
                 sceneDelLogService.saveLog(scenePlus.getNum(),userId);
-                if(StringUtils.isBlank(platform) && ( scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5|| scenePlus.getSceneSource() == 57)){
-                    laserService.delete(scenePlus.getNum());
-                }
             }
             scenePlusService.removeByIds(plusIds);
             scenePlusExtService.removeByPlusIds(plusIds);
             folderSceneService.delBySceneId(plusIds);
+
+            List<String> lNumList = plusList.stream().filter(e -> SceneSourceUtil.isLaser(e.getSceneSource())).map(ScenePlus::getNum).collect(Collectors.toList());
+            if(!lNumList.isEmpty()){
+                laserNumList.addAll(lNumList);
+            }
         }
+        if(!laserNumList.isEmpty()){
+            HashMap<String,Object> map = new HashMap<>();
+            map.put("numList",laserNumList);
+            rabbitMqProducer.sendByWorkQueue(MqQueueUtil.laserDeleteScene,map);
+        }
+
         //恢复相机使用容量
-        if(cameraMap.size() >0){
+        if(!cameraMap.isEmpty()){
             cameraDetailService.addUsedSpace(cameraMap);
         }
     }

+ 5 - 12
src/main/java/com/fdkankan/ucenter/service/impl/UserServiceImpl.java

@@ -74,6 +74,10 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     ICameraSpaceService cameraSpaceService;
     @Autowired
     ICameraTypeService cameraTypeService;
+    @Autowired
+    ISceneProService sceneProService;
+    @Autowired
+    IScenePlusService scenePlusService;
 
     private User getByEmail(String email){
         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
@@ -319,18 +323,7 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
                 default:  cameraVo.setNickName("Pro设备用户");cameraVo.setNickNameEn("4DKanKan user"); break;
             }
         }
-        List<CameraSpaceVo> voList = cameraSpaceService.getVoListByCameraId(cameraVo.getId());
-        if(voList != null && voList.size() > 0){
-            CameraSpaceVo cameraSpace = voList.get(0);
-            Long space = cameraSpace.getSpace();
-            cameraVo.setSpaceId(cameraSpace.getId());
-            cameraVo.setSpace((long) FileSizeUtil.formetFileSize(space, FileSizeUtil.SIZETYPE_GB));
-            cameraVo.setSpaceStr(FileSizeUtil.formatFileSize(space));
-            cameraVo.setSpaceEndStr(DateUtil.date2String(cameraSpace.getSpaceEndTime(), DateUtil.YYYY_MM_DD_DATE_FORMAT));
-            if(Days.daysBetween(new DateTime(), new DateTime(cameraSpace.getSpaceEndTime())).getDays() < 7){
-                cameraVo.setIsExpire(true);
-            }
-        }
+
         //获取会员权益
         UserIncrement userIncrement = userIncrementService.getByCameraId(cameraVo.getId());
         if(userIncrement != null){

+ 3 - 0
src/main/java/com/fdkankan/ucenter/vo/LaserSceneVo.java

@@ -9,4 +9,7 @@ public class LaserSceneVo {
     private String num;
     private String snCode;
     private Integer shootCount;
+    private String title;
+    private String algorithmTime;
+    private String createTime;
 }

+ 6 - 15
src/main/java/com/fdkankan/ucenter/vo/RelicsSceneInitQueueDTO.java

@@ -6,25 +6,12 @@ import lombok.Data;
 public class RelicsSceneInitQueueDTO {
     private String sceneCode;
 
-//    @ApiModelProperty(value = "判断是否为slam场景,深光和深时 以前的场景都是4" +
-//            "typedef enum SceneLocation {\n" +
-//            "    Scene_Location_Slam  = 0, //slam\n" +
-//            "    Scene_Location_SFM 1 ,   //sfm\n" +
-//            "    Scene_Location_SFMAI  2,     //SFM + AI\n" +
-//            "    Scene_Location_MutiFloor 3 ,    //多楼层\n" +
-//            "    Scene_Location_PointCloud 4,    //点云\n" +
-//            "    Scene_Location_SLAMPoint 5,    //slam实时拍\n" +
-//            "    Scene_Location_SLAMPointAndSFMAI  6   //slam实时拍+站点\n" +
-//            "} SceneLocation;")
     private Integer location;
 
-    //@ApiModelProperty(value = "场景来源:相机拍摄10以内表示,1表示八目,2双目,3转台,4 激光 5深光  其他来源10以上,11:一键换装,12:123看房,13文通虚拟场景")
     private Integer sceneSource;
 
-    //@ApiModelProperty(value = "计算完成时间")
     private String algorithmTime;
 
-    //@ApiModelProperty(value = "创建时间")
     private String createTime;
 
     private String phoneNum;
@@ -33,11 +20,15 @@ public class RelicsSceneInitQueueDTO {
 
     private String snCode;
 
-    //0-计算中 1-计算成功  -1-计算失败
     private int status;
 
+    private int sceneStatus;
+
     private String sceneName;
 
-    //@ApiModelProperty(value = "点位数量")
+    private String title;
+
     private Integer shootCount;
+
+    private String num;
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/vo/request/AppSceneParam.java

@@ -37,6 +37,6 @@ public class AppSceneParam extends RequestBase {
     /**
      * 是否是文保App
      */
-    private Boolean queryVrPano = false;
+    private Boolean queryVrPano = true;
 
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/vo/request/FolderParam.java

@@ -2,6 +2,9 @@ package com.fdkankan.ucenter.vo.request;
 
 import lombok.Data;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Data
 public class FolderParam {
     private Long id;

+ 13 - 0
src/main/java/com/fdkankan/ucenter/vo/request/LaserSceneParam.java

@@ -0,0 +1,13 @@
+package com.fdkankan.ucenter.vo.request;
+
+import com.fdkankan.ucenter.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class LaserSceneParam extends RequestBase {
+    private Long userId;
+    private String title;
+    private Integer sceneSource;
+    private Integer location;
+    private String num;
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/vo/request/SceneParam.java

@@ -28,7 +28,7 @@ public class SceneParam extends RequestBase {
     private Integer haveVoid;
     private Integer status;
 
-    private Integer isObj;
+    private Integer isObj = 1;
 
     private String startTime;
     private String endTime;

+ 1 - 0
src/main/java/com/fdkankan/ucenter/vo/response/SceneVo.java

@@ -58,6 +58,7 @@ public class SceneVo {
     private String updateTime;
     private Integer removePortrait;
     private Integer sceneSource;
+    private String laserTitle;
 
     public String getCreateTime() {
         return DateUserUtil.getDayTime(createTime);

+ 10 - 1
src/main/resources/mapper/ucenter/FolderSceneMapper.xml

@@ -2,11 +2,20 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.ucenter.mapper.IFolderSceneMapper">
 
+    <select id="getByTypeNum" resultType="com.fdkankan.ucenter.entity.FolderScene">
+        SELECT b.* from t_folder a left join t_folder_scene b on a.id = b.folder_id
+        where  b.rec_status ='A' and b.num = #{num}
+        <if test= 'type != null'>
+         and a.type = #{type}
+        </if>
+        limit 1
+    </select>
+
     <select id="getByType" resultType="com.fdkankan.ucenter.entity.FolderScene">
         SELECT b.* from t_folder a left join t_folder_scene b on a.id = b.folder_id
         where  b.rec_status ='A' and b.scene_id = #{sceneId}
         <if test= 'type != null'>
-         and a.type = #{type}
+            and a.type = #{type}
         </if>
         limit 1
     </select>

+ 18 - 0
src/main/resources/mapper/ucenter/ScenePlusMapper.xml

@@ -123,4 +123,22 @@
             and e.is_obj = 1
         </if>
     </select>
+
+    <select id="pageLaserScene" resultType="com.fdkankan.ucenter.vo.RelicsSceneInitQueueDTO">
+        select * from t_scene_plus s LEFT JOIN t_scene_plus_ext e on s.id = e.plus_id
+        WHERE s.rec_status = 'A' and s.user_id = #{param.userId}
+        <if test="param.sceneSource !=null">
+            and s.scene_source = #{param.sceneSource}
+        </if>
+        <if test="param.location !=null">
+            and e.location = #{param.location}
+        </if>
+        <if test="param.title !=null and param.title !=''">
+            and  s.title like CONCAT('%',#{param.title},'%')
+        </if>
+        <if test="param.num !=null and param.num != ''">
+            and s.num = #{param.num}
+        </if>
+        order by s.create_time desc
+    </select>
 </mapper>

+ 5 - 5
src/main/resources/mapper/ucenter/SceneProMapper.xml

@@ -25,7 +25,7 @@
         <include refid="HasFolder"></include>
         SELECT * FROM (
         SELECT DISTINCT  p.id ,null as name ,0 as isFolder,null as type,null as parentId ,p.create_time,num,scene_name,scene_dec,
-        p.status,pay_status,thumb,web_site,0 as is_upgrade,sn_code,view_count,p.build_type, null as removePortrait,p.scene_source
+        p.status,pay_status,thumb,web_site,0 as is_upgrade,sn_code,view_count,p.build_type, null as removePortrait,p.scene_source,p.laser_title
         FROM t_scene_pro p
         <include refid="sceneJoinCamera"></include>
         WHERE is_upgrade = 0 and  p.rec_status = 'A'
@@ -35,12 +35,12 @@
         <if test="param.sceneName !=null and param.sceneName !=''">
           and  p.scene_name like CONCAT('%',#{param.sceneName},'%')
         </if>
-        <if test="param.isObj !=null ">
+        <if test="param.isObj !=null and param.isObj ==1">
           and  p.is_obj  = #{param.isObj}
         </if>
         UNION ALL
         SELECT  DISTINCT  p.id as id ,null as name ,0 as isFolder,null as type,null as parentId,e.algorithm_time as createTime ,num,title as scene_name,description as scene_dec,
-        scene_status as status,pay_status,thumb,web_site,1 as is_upgrade,sn_code,view_count,e.build_type,p.remove_portrait as removePortrait,p.scene_source
+        scene_status as status,pay_status,thumb,web_site,1 as is_upgrade,sn_code,view_count,e.build_type,p.remove_portrait as removePortrait,p.scene_source,p.laser_title
         FROM t_scene_plus p
         LEFT JOIN t_scene_plus_ext e on p.id = e.plus_id
         <include refid="sceneJoinCamera"></include>
@@ -51,7 +51,7 @@
         <if test="param.sceneName !=null and param.sceneName !=''">
           and  p.title like CONCAT('%',#{param.sceneName},'%')
         </if>
-        <if test="param.isObj !=null ">
+        <if test="param.isObj !=null and param.isObj ==1">
             and  e.is_obj  = #{param.isObj}
         </if>
         ORDER BY create_time desc ,id desc
@@ -69,7 +69,7 @@
             SELECT id,name,1 as isFolder,type,parent_id as parentId,create_time,null as num,null as scene_name,null as
             scene_dec,
             null as status,null as pay_status,null as thumb,null as web_site,null as is_upgrade,null as sn_code,null as
-            view_count, null build_type,null as removePortrait,null as scene_source
+            view_count, null build_type,null as removePortrait,null as scene_source,null as laserTitle
             FROM t_folder WHERE rec_status = 'A' and user_id =#{param.userId}
             <if test="param.folderType!=null and param.folderType == 0">
                 and (type = #{param.folderType} or type = 3)