lyhzzz hai 2 semanas
pai
achega
5fff11d169

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

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

@@ -31,10 +31,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 +242,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,String> map = new HashMap<>();
+        map.put("numList",JSONObject.toJSONString(Arrays.asList(num)));
+        rabbitMqProducer.sendByWorkQueue("laser-delete-scene",map);
 
     }
 

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

+ 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) {

+ 19 - 8
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -31,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;
@@ -917,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)  && (SceneSourceUtil.isLaser(scenePro.getSceneSource()))){
-                    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){
@@ -937,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) && ( SceneSourceUtil.isLaser(scenePlus.getSceneSource()))){
-                    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,String> map = new HashMap<>();
+            map.put("numList",JSONObject.toJSONString(laserNumList));
+            rabbitMqProducer.sendByWorkQueue(MqQueueUtil.laserDeleteScene,map);
+        }
+
         //恢复相机使用容量
-        if(cameraMap.size() >0){
+        if(!cameraMap.isEmpty()){
             cameraDetailService.addUsedSpace(cameraMap);
         }
     }