فهرست منبع

激光复制修改为队列通知

lyhzzz 1 سال پیش
والد
کامیت
bcfc069295

+ 10 - 26
src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.http.client.NacosAsyncRestTemplate;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.ucenter.common.CameraTypeEnum;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.common.constants.NacosProperty;
@@ -28,6 +29,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
@@ -52,6 +54,10 @@ public class LaserService {
     ICameraService cameraService;
     @Autowired
     ICameraDetailService cameraDetailService;
+    @Autowired
+    private RabbitMqProducer rabbitMqProducer;
+    @Value("${queue.application.laser.copy-scene:laser-copy-scene}")
+    private String laserCopyScene;
     /**
      * 根据用户获取激光相机数量
      * @param token
@@ -180,35 +186,13 @@ public class LaserService {
     }
 
 
-    public void copy(Long camaraId, String createTime, String newNum, Integer status,
-                     String  path, String sceneKey, String sceneName, Long userId,String version){
-        String phone = null;
-        String snCode = null;
-        if(userId != null){
-            User user = userService.getById(userId);
-            phone = user == null ? null :user.getUserName();
-        }
-        if(camaraId != null){
-            Camera camera = cameraService.getById(camaraId);
-            snCode = camera == null ? null :camera.getSnCode();
-        }
+    public void copy(String oldNum , String newNum, String  path,Boolean flag){
         Map<String,Object> params = new HashMap<>();
-        params.put("childName",snCode);
-        params.put("createTime", createTime);
-        params.put("phone", phone);
         params.put("sceneCode", newNum);
-        params.put("snCode",snCode);
-        params.put("status", status);
-        params.put("password", sceneKey);
-        params.put("title", sceneName);
-        params.put("userId", userId);
-        params.put("isCopy", true);
+        params.put("oldSceneCode", oldNum);
         params.put("path",path);
-        params.put("version",version);
-        Result result = laserClient.saveOrEdit(newNum, params);
-        if( result.getCode() != HttpStatus.OK.value()){
-            log.error("激光场景状态同步失败!");
-        }
+        params.put("init",flag);
+        rabbitMqProducer.sendByWorkQueue(laserCopyScene,params);
     }
 
     public List<SceneBySnCodeVo> getScenesBySnCode(String snCode, String token) {

+ 4 - 7
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -236,9 +236,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                 sceneEditControls.setEditInfoId(sceneEditInfo.getId());
                 sceneEditControlsService.save(sceneEditControls);
 
-                if(scenePlus.getSceneSource() == 4){  //深时复制
-                    laserService.copy(scenePlus.getCameraId(),scenePlus.getCreateTime(),newNum,0,null,
-                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4");
+                if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+                    laserService.copy(num,newNum,newDataSource,true);
                 }
 
                 List<Surveillance> list = surveillanceService.list(new LambdaQueryWrapper<Surveillance>().eq(Surveillance::getNum, num));
@@ -295,10 +294,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                 }
 
                 log.info("复制场景结束-{}", new Date());
-                if(scenePlus.getSceneSource() == 4){  //深时复制
-                    String laserPath = laserService.copyDataSource(oldDataSource,plusExt.getDataSource());
-                    laserService.copy(scenePlus.getCameraId(),scenePlus.getCreateTime(),newNum,2,laserPath,
-                            sceneEditInfo.getScenePassword(),scenePlus.getTitle(),scenePlus.getUserId(),"V4");
+                if(scenePlus.getSceneSource() == 4 || scenePlus.getSceneSource() == 5){  //深时复制
+                    laserService.copy(num,newNum,newDataSource,false);
                 }
                 sceneCopyLogService.saveByNum(num,newNum,scenePlus.getUserId());
 

+ 4 - 7
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -757,9 +757,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         oldScene.setDataSource(newDataSource);
 
         this.save(oldScene);
-        if(oldScene.getSceneSource() == 4){  //深时复制
-            laserService.copy(oldScene.getCameraId(),oldScene.getCreateTime(),newNum,0,null,
-                    oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3");
+        if(oldScene.getSceneSource() == 4 || oldScene.getSceneSource() == 5){  //深时复制
+            laserService.copy(oldNum,newNum,newDataSource,true);
         }
         //更新video
         Map map = new HashMap();
@@ -832,10 +831,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                     this.updateOssStatus(String.format(OssPath.v3_statusPath,oldScene.getNum()),-2);
                 }
                 log.info("复制场景结束-{}", new Date());
-                if(oldScene.getSceneSource() == 4){  //深时复制
-                    String laserPath = laserService.copyDataSource(preDataSource,oldScene.getDataSource());
-                    laserService.copy(oldScene.getCameraId(),oldScene.getCreateTime(),newNum,2,laserPath,
-                            oldEditScene.getSceneKey(),oldScene.getSceneName(),oldScene.getUserId(),"V3");
+                if(oldScene.getSceneSource() == 4 || oldScene.getSceneSource() == 5){  //深时复制
+                    laserService.copy(oldNum,newNum,newDataSource,false);
                 }
                 sceneCopyLogService.saveByNum(oldNum,newNum,oldScene.getUserId());