lyhzzz 3 лет назад
Родитель
Сommit
676e9c9e21

+ 8 - 2
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/UserController.java

@@ -4,6 +4,7 @@ package com.fdkankan.manage.controller;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.service.ICameraService;
 import com.fdkankan.manage.service.IUserIncrementService;
 import com.fdkankan.manage.service.IUserService;
@@ -81,8 +82,13 @@ public class UserController {
     }
 
     @GetMapping("/unbindCamera")
-    public ResultData unbindCamera(@RequestParam(required = false)Long cameraId){
-        cameraService.unbindCamera(cameraId);
+    public ResultData unbindCamera(@RequestParam(required = false)Long cameraId,
+                                   @RequestParam(required = false)Long userId){
+        User user = userService.getById(userId);
+        if(user == null){
+            throw new BusinessException(ErrorCode.USER_NOT_EXIST);
+        }
+        cameraService.unbindCamera(cameraId,user);
         return ResultData.ok();
     }
 }

+ 2 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ICameraDetailService.java

@@ -2,6 +2,7 @@ package com.fdkankan.manage.service;
 
 import com.fdkankan.manage.entity.CameraDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.entity.User;
 
 import java.util.HashMap;
 import java.util.List;
@@ -18,7 +19,7 @@ public interface ICameraDetailService extends IService<CameraDetail> {
 
     HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
 
-    void unbindCamera(Long cameraId);
+    void unbindCamera(Long cameraId, User user);
 
     CameraDetail getByCameraId(Long cameraId);
 }

+ 2 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ICameraService.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.manage.entity.Camera;
+import com.fdkankan.manage.entity.User;
 
 import java.util.List;
 
@@ -20,5 +21,5 @@ public interface ICameraService extends IService<Camera> {
 
     PageInfo getCameraByUserId(Integer pageNum, Integer pageSize, Long userId);
 
-    void unbindCamera(Long cameraId);
+    void unbindCamera(Long cameraId, User user);
 }

+ 1 - 10
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IFdkkLaserService.java

@@ -1,9 +1,4 @@
-package com.fdkankan.scene.service;
-
-import com.fdkankan.scene.vo.SceneBySnCodeVo;
-import com.fdkankan.scene.vo.SceneNumVo;
-
-import java.util.List;
+package com.fdkankan.manage.service;
 
 /**
  * <p>
@@ -21,9 +16,5 @@ public interface IFdkkLaserService {
 
     void enableCameraCooperation(String snCode, String cooperationUserName);
 
-    SceneNumVo getLaserSceneNumByUser(String token);
-
-    List<SceneBySnCodeVo> getScenesBySnCode(String snCode, String token);
-
     Integer getLaserSceneNum(String snCode);
 }

+ 2 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISceneProService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage.service;
 
+import com.fdkankan.manage.entity.CameraDetail;
 import com.fdkankan.manage.entity.ScenePro;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -20,7 +21,7 @@ public interface ISceneProService extends IService<ScenePro> {
 
     void unbindCamera(Long cameraId);
 
-    void lockBySpace(Long cameraId);
+    void lockBySpace(CameraDetail cameraDetail,Long cameraId);
 
     List<ScenePro> getListByCameraId(Long cameraId);
 }

+ 38 - 8
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -1,12 +1,18 @@
 package com.fdkankan.manage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.CameraTypeEnum;
+import com.fdkankan.common.constant.Constant;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.manage.entity.Camera;
 import com.fdkankan.manage.entity.CameraDetail;
+import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.mapper.ICameraDetailMapper;
-import com.fdkankan.manage.service.ICameraDetailService;
+import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.vo.response.GroupByUserIdCount;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -23,6 +29,15 @@ import java.util.List;
 @Service
 public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, CameraDetail> implements ICameraDetailService {
 
+    @Autowired
+    ICameraService cameraService;
+    @Autowired
+    ISceneCooperationService sceneCooperationService;
+    @Autowired
+    ISceneProService sceneProService;
+    @Autowired
+    IFdkkLaserService fdkkLaserService;
+
     @Override
     public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
         HashMap<Long,Long> map = new HashMap<>();
@@ -32,12 +47,27 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     }
 
     @Override
-    public void unbindCamera(Long cameraId) {
-        LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.set(CameraDetail::getUserId,null)
-                .set(CameraDetail::getCooperationUser,null)
-                .eq(CameraDetail::getCameraId,cameraId);
-        this.update(wrapper);
+    public void unbindCamera(Long cameraId, User user) {
+        CameraDetail cameraDetail = this.getByCameraId(cameraId);
+        if(cameraDetail == null){
+            throw new BusinessException(ErrorCode.CAMERA_BIND_NO_EXIST);
+        }
+        String snCode = null;
+        String cooperationUserName = null;
+        if(cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()){
+            Camera cameraEntity = cameraService.getById(cameraDetail.getCameraId());
+            snCode = cameraEntity.getSnCode();
+            cooperationUserName  = user.getUserName();
+            fdkkLaserService.disableCooperation(snCode,cooperationUserName);    //通知深时删除协作场景
+        }
+        sceneCooperationService.deleteCooperation(cameraId);                //删除协作场景关系
+        cameraDetail.setUserId(null);
+        cameraDetail.setCooperationUser(null);
+        //恢复10G基本容量
+        cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
+        this.updateById(cameraDetail);
+
+        sceneProService.lockBySpace(cameraDetail,cameraId);     //封存场景
     }
 
     @Override

+ 3 - 6
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.manage.entity.Camera;
+import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.mapper.ICameraMapper;
 import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.vo.response.CameraDetailVo;
@@ -34,8 +35,6 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     IUserIncrementService userIncrementService;
     @Autowired
     ISceneResourceCameraService sceneResourceCameraService;
-    @Autowired
-    ISceneCooperationService cooperationService;
 
     @Override
     public List<Camera> getListByCameraIdList(List<Long> cameraIdList) {
@@ -52,13 +51,11 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
 
     @Override
-    public void unbindCamera(Long cameraId) {
-        sceneProService.lockBySpace(cameraId);              //场景封存
-        cameraDetailService.unbindCamera(cameraId);         //取消相机用户关联
+    public void unbindCamera(Long cameraId, User user) {
+        cameraDetailService.unbindCamera(cameraId, user); //取消相机用户关联
         userIncrementService.unbindCamera(cameraId);        //取消关联用户权益
         sceneService.unbindCamera(cameraId);                //取消关联场景
         sceneProService.unbindCamera(cameraId);             //取消关联场景
         sceneResourceCameraService.unbindCamera(cameraId);  //删除协作相机
-        cooperationService.deleteCooperation(cameraId);     //删除协作场景关系
     }
 }

+ 4 - 61
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/IFdkkLaserServiceImpl.java

@@ -1,17 +1,13 @@
-package com.fdkankan.scene.service.impl;
+package com.fdkankan.manage.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.HttpCode;
 import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.scene.service.IFdkkLaserService;
-import com.fdkankan.scene.vo.SceneBySnCodeVo;
-import com.fdkankan.scene.vo.SceneNumVo;
+import com.fdkankan.manage.service.IFdkkLaserService;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -34,7 +30,7 @@ public class IFdkkLaserServiceImpl implements IFdkkLaserService {
     private final String GET_LASER_SCENE_CODE_URL="/laser/4dage/scene/getScenesBySnCode";
     private final String GET_LASER_SCENE_CNT_URL="/laser/4dage/scene/getSceneNumByCamera";
 
-    @Value("${4dkk.laserService.host}")
+    @Value("${4dkk.laserService.host:https://uat-laser.4dkankan.com}")
     private String laserHost;
 
     private RestTemplate restTemplate = new RestTemplate();
@@ -90,60 +86,6 @@ public class IFdkkLaserServiceImpl implements IFdkkLaserService {
     }
 
     /**
-     * 根据用户获取激光相机数量
-     * @param token
-     * @return
-     */
-    @Override
-    public SceneNumVo getLaserSceneNumByUser(String token) {
-        SceneNumVo sceneNumVo = new SceneNumVo();
-        try {
-            String url = laserHost + GET_LASER_SCENE_USER_URL;
-            HttpHeaders headers = new HttpHeaders();
-            headers.add("fdToken", token);
-            HttpEntity<Object> formEntity = new HttpEntity<>( headers);
-            log.info("获取激光转台相机场景数,url:{},fdToken:{}",GET_LASER_SCENE_USER_URL,token);
-            ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,formEntity, Result.class);
-            log.info("获取激光转台相机场景数,url:{},fdToken:{},结果:{}",url,token,JSONObject.toJSONString(responseEntity.getBody()));
-            if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
-                log.error("自研激光转台相机协作失败!");
-                return sceneNumVo;
-            }
-            sceneNumVo = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getBody().getData()), SceneNumVo.class);
-            sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
-        }catch (Exception e){
-            log.error("自研激光转台相机协作失败!",e);
-        }
-        return sceneNumVo ;
-    }
-
-    /**
-     * 根据相机编码获取激光场景
-     */
-    public  List<SceneBySnCodeVo> getScenesBySnCode(String snCode, String token) {
-        List<SceneBySnCodeVo> sceneVo = new ArrayList<>();
-        try {
-            String url = laserHost + GET_LASER_SCENE_CODE_URL;
-            Map<String, String> param = new HashMap<>();
-            param.put("snCode",snCode);
-            HttpHeaders headers = new HttpHeaders();
-            headers.add("fdToken", token);
-            HttpEntity<Object> formEntity = new HttpEntity<>(param, headers);
-            log.info("获取激光转台场景,url:{},param:{},fdToken:{}",GET_LASER_SCENE_USER_URL,param,token);
-            ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,formEntity, Result.class);
-            log.info("获取激光转台场景,url:{},param:{},fdToken:{},结果:{}",url,param,token,JSONObject.toJSONString(responseEntity.getBody()));
-            if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
-                log.error("自研激光转台相机协作失败!");
-                return sceneVo;
-            }
-            sceneVo = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getBody().getData()), List.class);
-        }catch (Exception e){
-            log.error("自研激光转台相机协作失败!",e);
-        }
-        return sceneVo ;
-    }
-
-    /**
      * 根据 snCode 获取激光场景场景数量
      */
     public Integer getLaserSceneNum(String snCode){
@@ -163,6 +105,7 @@ public class IFdkkLaserServiceImpl implements IFdkkLaserService {
         }
         return 0;
     }
+
     @Data
     public static class Result<T> implements Serializable {
         private static final long serialVersionUID = -1491499610244557029L;

+ 3 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SceneCooperationServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage.entity.SceneCooperation;
 import com.fdkankan.manage.entity.ScenePro;
 import com.fdkankan.manage.mapper.ISceneCooperationMapper;
+import com.fdkankan.manage.service.IFdkkLaserService;
 import com.fdkankan.manage.service.ISceneCooperationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.service.ISceneProService;
@@ -30,6 +31,8 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     ISceneResourceCooperationService sceneResourceCooperationService;
     @Autowired
     ISceneProService sceneProService;
+    @Autowired
+    IFdkkLaserService fdkkLaserService;
 
     @Override
     public void deleteCooperation(Long cameraId) {

+ 3 - 12
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -1,9 +1,9 @@
 package com.fdkankan.manage.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.common.constant.Constant;
 import com.fdkankan.common.constant.ConstantFilePath;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
@@ -62,15 +62,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
     @Override
-    public void lockBySpace(Long cameraId) {
-        CameraDetail cameraDetail = cameraDetailService.getByCameraId(cameraId);
-        if(cameraDetail == null){
-            return;
-        }
-        //恢复10G基本容量
-        cameraDetail.setTotalSpace(Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
-        cameraDetailService.updateById(cameraDetail);
-
+    public void lockBySpace(CameraDetail cameraDetail,Long cameraId) {
         LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(ScenePro::getCameraId,cameraId)
                 .eq(ScenePro::getPayStatus,1)
@@ -109,8 +101,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 Map<String, Object> map = new HashMap<>();
                 map.put("payStatus", payStatus);
                 FileUtils.writeJsonFile(ConstantFilePath.SCENE_PATH + "data/data" + scenePro.getNum() + "/scene.json", map);
-                com.alibaba.fastjson.JSONObject statusJson = new com.alibaba.fastjson.JSONObject();
-
+                JSONObject statusJson = new JSONObject();
                 //临时将-2改成1,app还没完全更新
                 statusJson.put("status", scenePro.getStatus() == -2 ? 1 : scenePro.getStatus());
                 statusJson.put("webSite", scenePro.getWebSite());