lyhzzz vor 2 Jahren
Ursprung
Commit
bd62d5579a

+ 34 - 3
src/main/java/com/fdkankan/manage/httpClient/client/LaserClient.java

@@ -1,13 +1,16 @@
 package com.fdkankan.manage.httpClient.client;
 
-import com.dtflys.forest.annotation.Address;
-import com.dtflys.forest.annotation.JSONBody;
-import com.dtflys.forest.annotation.Post;
+import com.dtflys.forest.annotation.*;
+import com.fdkankan.common.response.Result;
 import com.fdkankan.manage.httpClient.address.LaserAddressSource;
 import com.fdkankan.manage.httpClient.param.LaserSceneMoveParam;
 import com.fdkankan.manage.httpClient.param.LaserSceneParam;
 import com.fdkankan.manage.httpClient.vo.FdkkResponse;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 获取,调用4dkk服务
  */
@@ -24,4 +27,32 @@ public interface LaserClient {
      */
     @Post("/laser/4dage/scene/migrate")
     FdkkResponse migrate(@JSONBody LaserSceneMoveParam param);
+    /**
+     * 修改场景状态
+     */
+    @Get("/indoor/{sceneNum}/scene/useStatus/{status}")
+    Result updateSceneStatus(@Var("sceneNum") String sceneNum, @Var("status")Integer status);
+    /**
+     * 获取相机场景数
+     * @param param
+     */
+    @Post("/laser/4dage/scene/getSceneNumByCamera")
+    Result getSceneNumByCamera(@JSONBody Map<String, String> param);
+    /**
+     * 取消相机协作
+     * @param param
+     */
+    @Post("/laser/4dage/scene/cooperation/disable")
+    Result cooperationDisable(@JSONBody List<Map<String, String>> param);
+    /**
+     * 添加相机协作
+     * @param param
+     */
+    @Post("/laser/4dage/scene/cooperation/cameraSave")
+    Result cooperationCameraSave(@JSONBody List<Map<String, String> >param);
+    /**
+     * 添加相机协作
+     */
+    @Post("/laser/init/{sceneNum}/saveOrEdit")
+    Result saveOrEdit(@Var("sceneNum") String sceneNum, @JSONBody  Map<String,Object> params);
 }

+ 29 - 15
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -3,9 +3,15 @@ package com.fdkankan.manage.httpClient.service;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.HttpCode;
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.Result;
 import com.fdkankan.common.util.DateUtil;
+import com.fdkankan.manage.common.CameraTypeEnum;
+import com.fdkankan.manage.entity.Camera;
+import com.fdkankan.manage.entity.CameraDetail;
 import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.httpClient.client.LaserClient;
 import com.fdkankan.manage.httpClient.param.LaserSceneMoveParam;
@@ -42,8 +48,6 @@ public class LaserService {
     @Autowired
     IUserService userService;
 
-    private final String SAVE_SCENE_URL_TEMPLATE="/laser/init/%s/saveOrEdit";
-
 
     public PageInfo pageList(SceneParam param) {
         LaserSceneParam newParam = new LaserSceneParam();
@@ -113,9 +117,6 @@ public class LaserService {
     }
 
 
-    private RestTemplate restTemplate = new RestTemplate();
-
-
     public void copy(String snCode, String createTime, String newNum, Integer status, String sceneKey, String sceneName, Long userId){
         String phone = null;
         if(userId != null){
@@ -124,7 +125,6 @@ public class LaserService {
                 phone = user.getUserName();
             }
         }
-        String url = basePath + String.format(SAVE_SCENE_URL_TEMPLATE,newNum);
         Map<String,Object> params = new HashMap<>();
         params.put("childName",snCode);
         params.put("createTime", createTime);
@@ -136,24 +136,38 @@ public class LaserService {
         params.put("title", sceneName);
         params.put("userId", userId);
         params.put("copy", true);
-        log.info("自研激光转台相机同步,url:{},params:{}",url, JSONObject.toJSONString(params));
-        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
-        log.info("自研激光转台相机同步,url:{},params:{},结果,{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
-        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
+        Result result = laserClient.saveOrEdit(newNum, params);
+        if( result.getCode() != HttpStatus.OK.value()){
             log.error("激光场景状态同步失败!");
         }
     }
 
     public void delete(String num) {
-        String url = basePath + String.format(SAVE_SCENE_URL_TEMPLATE,num);
         Map<String,Object> params = new HashMap<>();
         params.put("sceneCode", num);
         params.put("status", -1);
-        log.info("自研激光转台相机同步,url:{},params:{}",url, JSONObject.toJSONString(params));
-        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
-        log.info("自研激光转台相机同步,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
-        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
+        Result result = laserClient.saveOrEdit(num, params);
+        if(result.getCode() != HttpStatus.OK.value()){
             log.error("激光场景状态同步失败!");
         }
     }
+
+
+    public void disableCooperation(String snCode,  String cooperationUserName){
+        List<Map<String, String>> laserParams = new ArrayList<>();
+        Map<String, String> param = new HashMap<>();
+        param.put("snCode", snCode);
+        param.put("cooperationUserName", cooperationUserName);
+        laserParams.add(param);
+        this.disableCooperation(laserParams);
+    }
+
+    public void disableCooperation(List<Map<String, String>> params) {
+        if(params.size() <=0){
+            return;
+        }
+        laserClient.cooperationDisable(params);
+    }
+
+
 }

+ 0 - 20
src/main/java/com/fdkankan/manage/service/IFdkkLaserService.java

@@ -1,20 +0,0 @@
-package com.fdkankan.manage.service;
-
-/**
- * <p>
- * TODO
- * </p>
- *
- * @author dengsixing
- * @since 2022/1/14
- **/
-public interface IFdkkLaserService {
-
-    void updateSceneStatus(String sceneCode,int status);
-
-    void disableCooperation(String snCode, String cooperationUserName);
-
-    void enableCameraCooperation(String snCode, String cooperationUserName);
-
-    Integer getLaserSceneNum(String snCode);
-}

+ 3 - 0
src/main/java/com/fdkankan/manage/service/IUserService.java

@@ -7,6 +7,7 @@ import com.fdkankan.manage.vo.request.UserIncrementParam;
 import com.fdkankan.manage.vo.request.UserParam;
 import com.fdkankan.manage.vo.response.UserVo;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -24,4 +25,6 @@ public interface IUserService extends IService<User> {
     void addDownNum(UserIncrementParam param);
 
     List<UserVo> userDetail(Integer userId);
+
+    HashMap<Long, User> getByIds(List<Long> userIds);
 }

+ 2 - 1
src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -9,6 +9,7 @@ import com.fdkankan.manage.common.CameraTypeEnum;
 import com.fdkankan.manage.entity.Camera;
 import com.fdkankan.manage.entity.CameraDetail;
 import com.fdkankan.manage.entity.User;
+import com.fdkankan.manage.httpClient.service.LaserService;
 import com.fdkankan.manage.mapper.ICameraDetailMapper;
 import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.vo.response.GroupByCount;
@@ -41,7 +42,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     @Autowired
     ISceneService sceneService;
     @Autowired
-    IFdkkLaserService fdkkLaserService;
+    LaserService fdkkLaserService;
     @Autowired
     IUserService userService;
 

+ 0 - 130
src/main/java/com/fdkankan/manage/service/impl/IFdkkLaserServiceImpl.java

@@ -1,130 +0,0 @@
-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.manage.service.IFdkkLaserService;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Service
-@Slf4j
-public class IFdkkLaserServiceImpl implements IFdkkLaserService {
-
-    private final String UPDATE_SCENE_STATUS_URL_TEMPLATE="/indoor/%s/scene/useStatus/%s";
-    private final String DISABLE_COOPERATION_SCENE_URL="/laser/4dage/scene/cooperation/disable";
-    private final String ENABLE_COOPERATION_CAMERA_URL="/laser/4dage/scene/cooperation/cameraSave";
-    private final String GET_LASER_SCENE_USER_URL="/laser/4dage/getSceneNum";
-    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:https://uat-laser.4dkankan.com}")
-    private String laserHost;
-
-    private RestTemplate restTemplate = new RestTemplate();
-
-    public void updateSceneStatus(String sceneCode,int status){
-        String url = laserHost + String.format(UPDATE_SCENE_STATUS_URL_TEMPLATE,sceneCode,status);
-        ResponseEntity<Result> response = restTemplate.getForEntity(url, Result.class);
-        if(response.getStatusCode() != HttpStatus.OK){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7001);
-        }
-        if(response.getBody().getCode() != HttpCode.SC_SUCCESS){
-            throw new BusinessException(response.getBody().getCode(), response.getBody().getMsg());
-        }
-    }
-
-    /**
-     * 自研激光转台取消协作
-     */
-    @Override
-    public void disableCooperation(String snCode, String cooperationUserName) {
-        List<Map<String,String>> params = new ArrayList<>();
-        Map<String,String> param = new HashMap<>();
-        param.put("snCode",snCode);
-        param.put("cooperationUserName",cooperationUserName);
-        params.add(param);
-
-        String url = laserHost + DISABLE_COOPERATION_SCENE_URL;
-        log.info("自研激光转台取消协作,url:{},params:{}",DISABLE_COOPERATION_SCENE_URL, JSONObject.toJSONString(params));
-        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
-        log.info("自研激光转台相机同步,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
-        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
-            log.error("激光场景状态同步失败!");
-        }
-    }
-    /**
-     * 自研激光转台添加协作
-     */
-    @Override
-    public void enableCameraCooperation(String snCode, String cooperationUserName) {
-        List<Map<String,String>> params = new ArrayList<>();
-        Map<String,String> param = new HashMap<>();
-        param.put("snCode",snCode);
-        param.put("cooperationUserName",cooperationUserName);
-        params.add(param);
-
-        String url = laserHost + ENABLE_COOPERATION_CAMERA_URL;
-        log.info("自研激光转台相机协作,url:{},params:{}",ENABLE_COOPERATION_CAMERA_URL, JSONObject.toJSONString(params));
-        ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
-        log.info("自研激光转台相机协作,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
-        if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
-            log.error("自研激光转台相机协作失败!");
-        }
-    }
-
-    /**
-     * 根据 snCode 获取激光场景场景数量
-     */
-    public Integer getLaserSceneNum(String snCode){
-        Map<String, String> params = new HashMap<>();
-        params.put("snCode",snCode);
-        try {
-            String url = laserHost + GET_LASER_SCENE_CNT_URL;
-            log.info("获取激光转台相机场景数,url:{},params:{}",GET_LASER_SCENE_CNT_URL, JSONObject.toJSONString(params));
-            ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url,params, Result.class);
-            log.info("获取激光转台相机场景数,url:{},params:{},结果:{}",url, JSONObject.toJSONString(params),JSONObject.toJSONString(responseEntity.getBody()));
-            if(responseEntity.getStatusCode() != HttpStatus.OK || responseEntity.getBody().getCode() != HttpStatus.OK.value()){
-                log.error("自研激光转台相机协作失败!");
-            }
-            return (Integer) responseEntity.getBody().getData();
-        }catch (Exception e){
-            log.error("自研激光转台相机协作失败!",e);
-        }
-        return 0;
-    }
-
-    @Data
-    public static class Result<T> implements Serializable {
-        private static final long serialVersionUID = -1491499610244557029L;
-        public static final String SUCCESS_MSG = "操作成功";
-        public static int CODE_SUCCESS = 0;
-        public static int CODE_FAILURE = -1;
-        public static String[] NOOP = new String[]{};
-
-        /**
-         * 处理状态:0: 成功, 1: 失败
-         */
-        private int code;
-        /**
-         * 消息
-         */
-        private String msg;
-        /**
-         * 返回数据
-         */
-        private T data;
-    }
-}

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

@@ -3,8 +3,8 @@ package com.fdkankan.manage.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage.entity.SceneCooperation;
 import com.fdkankan.manage.entity.ScenePro;
+import com.fdkankan.manage.httpClient.service.LaserService;
 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;
@@ -31,8 +31,6 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     ISceneResourceCooperationService sceneResourceCooperationService;
     @Autowired
     ISceneProService sceneProService;
-    @Autowired
-    IFdkkLaserService fdkkLaserService;
 
     @Override
     public void deleteCooperation(Long cameraId) {

+ 10 - 0
src/main/java/com/fdkankan/manage/service/impl/UserServiceImpl.java

@@ -108,4 +108,14 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         }
         return voList;
     }
+
+    @Override
+    public HashMap<Long, User> getByIds(List<Long> userIds) {
+        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(User::getId,userIds);
+        List<User> list = this.list(wrapper);
+        HashMap<Long,User> map = new HashMap<>();
+        list.forEach(entity -> map.put(entity.getId(),entity));
+        return map;
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/test/TestController.java

@@ -1,7 +1,9 @@
 package com.fdkankan.manage.test;
 
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.httpClient.service.LaserService;
 import com.fdkankan.manage.util.Dateutils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 

+ 5 - 0
src/main/resources/bootstrap-dev.yml

@@ -28,6 +28,11 @@ spring:
           - data-id: common-mongodb-config.yaml
             group: DEFAULT_GROUP
             refresh: true
+
+          - data-id: forest-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}

+ 5 - 0
src/main/resources/bootstrap-test.yml

@@ -27,6 +27,11 @@ spring:
           - data-id: common-mongodb-config.yaml
             group: DEFAULT_GROUP
             refresh: true
+
+          - data-id: forest-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}