瀏覽代碼

相机协作

lyhzzz 6 月之前
父節點
當前提交
64da2dad4c

+ 1 - 0
src/main/java/com/fdkankan/ucenter/common/constants/ResultCode.java

@@ -10,6 +10,7 @@ public enum ResultCode {
     UPLOAD_ERROR(500002, "上传失败。"),
     UPLOAD_ERROR3(500003, "文件不存在!"),
     CAMERA_NOT_EXIT(500004, "相机不存在或未绑定"),
+    DIS_COO_ERROR(500005, "解除失败,相机没协作用户"),
 
     USER_NOT_LOGIN(3004, "用户未登录"),
     PARAM_MISS(3001, "参数缺失"),

+ 9 - 0
src/main/java/com/fdkankan/ucenter/exception/GlobalExceptionHandler.java

@@ -32,4 +32,13 @@ public class GlobalExceptionHandler {
     public Result businessExceptionHandler(BusinessException e) {
         return Result.failure(e.getCode(), e.getMessage());
     }
+
+    /**
+     * 处理业务异常
+     */
+    @ResponseBody
+    @ExceptionHandler(value = com.fdkankan.ucenter.exception.BusinessException.class)
+    public Result businessExceptionHandler2(BusinessException e) {
+        return Result.failure(e.getCode(), e.getMessage());
+    }
 }

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

@@ -50,4 +50,5 @@ public interface ISceneCooperationService extends IService<SceneCooperation> {
 
 
      ProductOrder saveCamera(SceneCooperationParam param, String username);
+
 }

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

@@ -3,14 +3,15 @@ package com.fdkankan.ucenter.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.AppConstant;
-import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.FileSizeUtil;
 import com.fdkankan.ucenter.common.constants.NacosProperty;
+import com.fdkankan.ucenter.common.constants.ResultCode;
 import com.fdkankan.ucenter.constant.CameraConstant;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
+import com.fdkankan.ucenter.exception.BusinessException;
 import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ICameraMapper;
 import com.fdkankan.ucenter.service.*;
@@ -390,12 +391,22 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         cameraIds.add(cameraId);
         HashMap<Long, CameraDetail> detailMap = cameraDetailService.getByCameraIds(cameraIds);
         HashMap<Long, Camera> cameraMap = this.getByIds(cameraIds);
-        cameraDetailService.updateCooperationByIds(cameraIds, null);
-        sceneResourceCameraService.deleteByCameraIds(cameraIds);
+        CameraDetail cameraDetail = detailMap.get(cameraId);
+        Camera camera = cameraMap.get(cameraId);
+        if(camera == null || cameraDetail == null){
+            throw new BusinessException(ResultCode.CAMERA_NOT_EXIT);
+        }
+        if(cameraDetail.getCooperationUser() == null){
+            throw new BusinessException(ResultCode.DIS_COO_ERROR);
+        }
 
         List<ScenePro> sceneProList = sceneProService.getListByCameraIds(cameraIds);
         List<ScenePlus> scenePlusList = scenePlusService.getListByCameraIds(cameraIds);
-        sceneCooperationService.deleteCooperationList(sceneProList,scenePlusList,null);
+        sceneCooperationService.deleteCooperationList(sceneProList,scenePlusList,Arrays.asList(cameraDetail.getCooperationUser()));
+
+        cameraDetailService.updateCooperationByIds(cameraIds, null);
+        sceneResourceCameraService.deleteByCameraIds(cameraIds);
+
         fdkkLaserService.disableCooperation(detailMap, cameraMap);
 
     }

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

@@ -317,7 +317,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         return productOrder;
     }
 
-    private void  successAddCooperation(List<String> numList,List<User> users,String lang,User loginUser){
+    private void  successAddCooperation(List<String> numList, List<User> users, String lang, User loginUser){
         List<ScenePro> proList = sceneProService.getListByNums(numList);
         List<ScenePlus> plusList = scenePlusService.getListByNums(numList);
         List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());