Bläddra i källkod

相机解绑通知深时

lyhzzz 2 år sedan
förälder
incheckning
53d3c80c53

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

@@ -4,6 +4,7 @@ import com.dtflys.forest.annotation.*;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.httpClient.address.LaserAddressSource;
 import com.fdkankan.ucenter.httpClient.param.SSDownSceneParam;
+import com.fdkankan.ucenter.httpClient.param.SsBindParam;
 
 import java.util.List;
 import java.util.Map;
@@ -65,4 +66,10 @@ public interface LaserClient {
      */
     @Post("/laser/4dage/downOfflineSceneStatus")
     Result downOfflineSceneStatus(@JSONBody SSDownSceneParam param) ;
+
+    /**
+     *解绑相机、绑定相机
+     */
+    @Post("/laser/4dage/scene/camera/toBind")
+    Result toBind(@JSONBody SsBindParam param) ;
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/httpClient/param/SsBindParam.java

@@ -0,0 +1,13 @@
+package com.fdkankan.ucenter.httpClient.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SsBindParam {
+    private Boolean bind;
+    private String phone;
+    private List<String> snCode;
+    private Long userId;
+}

+ 18 - 0
src/main/java/com/fdkankan/ucenter/httpClient/service/LaserService.java

@@ -15,11 +15,13 @@ import com.fdkankan.ucenter.entity.CameraDetail;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.httpClient.client.LaserClient;
 import com.fdkankan.ucenter.httpClient.param.SSDownSceneParam;
+import com.fdkankan.ucenter.httpClient.param.SsBindParam;
 import com.fdkankan.ucenter.httpClient.vo.SSDownSceneVo;
 import com.fdkankan.ucenter.service.ICameraService;
 import com.fdkankan.ucenter.service.IUserService;
 import com.fdkankan.ucenter.vo.SceneBySnCodeVo;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
+import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -315,4 +317,20 @@ public class LaserService {
         params.put("businessType", 0);
         rabbitMqProducer.sendByWorkQueue(cloudPointBuild, params);
     }
+
+    public void toBind(String snCode,String userName,Long userId) {
+        try {
+            SsBindParam param = new SsBindParam();
+            param.setBind(false);
+            param.setSnCode(Lists.newArrayList(snCode));
+            param.setPhone(userName);
+            param.setUserId(userId);
+            Result responseEntity = laserClient.toBind(param);
+            if( responseEntity.getCode() != HttpStatus.OK.value()){
+                log.error("解绑用户激光转台下载失败:{}",responseEntity);
+            }
+        }catch (Exception e){
+            log.error("解绑用户获取激光转台下载状态失败!",e);
+        }
+    }
 }

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

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.service;
 
 import com.fdkankan.ucenter.entity.CameraDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.vo.response.CameraAppVo;
 
 import java.util.HashMap;
@@ -25,7 +26,7 @@ public interface ICameraDetailService extends IService<CameraDetail> {
 
     void unbindCamera(List<Long> cameraIds);
 
-    void bindCamera(List<Long> cameraIds,Long userId);
+    void bindCamera(List<Long> cameraIds, User user);
 
     HashMap<Long, CameraDetail> getByCameraIds(List<Long> cameraIds);
 

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

@@ -82,7 +82,7 @@ public class AppCameraService {
         cameraDetail.setUserId(user.getId());
         cameraIncrementLogService.saveLog(camera.getId(),null,user.getId(),2);
 
-        cameraDetailService.bindCamera(cameraIds,user.getId());
+        cameraDetailService.bindCamera(cameraIds,user);
         sceneProService.bindOrUnCamera(cameraIds,user.getId());
         scenePlusService.bindOrUnCamera(cameraIds,user.getId());
         CameraAppVo responseCamera = new CameraAppVo();

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

@@ -115,6 +115,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
             if(!"local".equals(NacosProperty.uploadType) && cameraDetail.getType()!=10){
                 sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),-2);     //封存场景
             }
+            if(cameraDetail.getType() == 10){
+                fdkkLaserService.toBind(cameraMap.get(cameraDetail.getCameraId()).getSnCode(),null,null);
+            }
         }
         //恢复10G基本容量
 
@@ -126,13 +129,23 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     }
 
     @Override
-    public void bindCamera(List<Long> cameraIds,Long userId) {
+    public void bindCamera(List<Long> cameraIds,User user) {
         if(cameraIds.size() >0){
             LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
             wrapper.in(CameraDetail::getCameraId,cameraIds)
-                    .set(CameraDetail::getUserId,userId);
+                    .set(CameraDetail::getUserId,user.getId());
             this.update(wrapper);
+
+            HashMap<Long, CameraDetail> detailMap = this.getByCameraIds(cameraIds);
+            HashMap<Long, Camera> cameraMap = cameraService.getByIds(cameraIds);
+            for (CameraDetail cameraDetail : detailMap.values()) {
+                if(cameraDetail.getType() == 10){
+                    fdkkLaserService.toBind(cameraMap.get(cameraDetail.getCameraId()).getSnCode(),user.getUserName(),user.getId());
+                }
+            }
         }
+
+
     }
 
     @Override

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

@@ -272,7 +272,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
         cameraIncrementLogService.saveLog(cameraIds,null,user.getId(),2);
 
-        cameraDetailService.bindCamera(cameraIds,user.getId());
+        cameraDetailService.bindCamera(cameraIds,user);
         sceneService.bindOrUnCamera(cameraIds,user.getId());
         sceneProService.bindOrUnCamera(cameraIds,user.getId());
         scenePlusService.bindOrUnCamera(cameraIds,user.getId());