Bladeren bron

laserClien forest配置

lyhzzz 3 jaren geleden
bovenliggende
commit
9cfb30c2d4

+ 0 - 4
src/main/java/com/fdkankan/ucenter/controller/TestController.java

@@ -1,7 +1,6 @@
 package com.fdkankan.ucenter.controller;
 
 import com.fdkankan.ucenter.common.Result;
-import com.fdkankan.ucenter.service.impl.FdkkLaserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -11,12 +10,9 @@ import java.util.HashMap;
 @RestController
 public class TestController {
 
-    @Autowired
-    FdkkLaserService fdkkLaserService;
 
     @RequestMapping("/test")
     public Result test() throws Exception {
-        fdkkLaserService.test(new HashMap<>());
         return Result.success( );
     }
 }

+ 22 - 0
src/main/java/com/fdkankan/ucenter/httpClient/address/LaserAddressSource.java

@@ -0,0 +1,22 @@
+package com.fdkankan.ucenter.httpClient.address;
+
+import com.dtflys.forest.callback.AddressSource;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class LaserAddressSource implements AddressSource {
+
+    @Value("${4dkk.laserService.basePath}")
+    private String basePath;
+
+    @Value("${4dkk.laserService.port}")
+    private String port;
+
+    @Override
+    public ForestAddress getAddress(ForestRequest forestRequest) {
+        return new ForestAddress("","",Integer.valueOf(port),basePath);
+    }
+}

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

@@ -0,0 +1,45 @@
+package com.fdkankan.ucenter.httpClient.client;
+
+import com.dtflys.forest.annotation.Address;
+import com.dtflys.forest.annotation.Header;
+import com.dtflys.forest.annotation.JSONBody;
+import com.dtflys.forest.annotation.Post;
+import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.httpClient.address.LaserAddressSource;
+import com.fdkankan.ucenter.vo.response.SceneNumVo;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 获取,调用激光服务
+ */
+@Address(source = LaserAddressSource.class)
+public interface LaserClient {
+
+    /**
+     * 根据用户获取激光相机数量
+     */
+    @Post("/laser/4dage/getSceneNum")
+    Result getSceneNum(@Header("fdToken") String token);
+    /**
+     * 获取相机场景数
+     * @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);
+
+}

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

@@ -0,0 +1,106 @@
+package com.fdkankan.ucenter.httpClient.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.ucenter.common.CameraTypeEnum;
+import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.entity.Camera;
+import com.fdkankan.ucenter.entity.CameraDetail;
+import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.httpClient.client.LaserClient;
+import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.ucenter.vo.response.SceneNumVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Slf4j
+public class LaserService {
+
+    @Resource
+    LaserClient laserClient;
+    @Autowired
+    IUserService userService;
+    /**
+     * 根据用户获取激光相机数量
+     * @param token
+     */
+    public SceneNumVo getLaserSceneNumByUser(String token) {
+        SceneNumVo sceneNumVo = new SceneNumVo();
+        try {
+            Result sceneNum = laserClient.getSceneNum(token);
+            if(sceneNum != null && sceneNum.getCode() == 200){
+                sceneNumVo = JSONObject.parseObject(JSONObject.toJSONString(sceneNum.getData()), SceneNumVo.class);
+                sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return sceneNumVo ;
+    }
+
+    public Integer getLaserSceneNum(Map<String, String> params){
+        Result result = laserClient.getSceneNumByCamera(params);
+        if(result.getCode() == 200 ){
+            return (Integer) result.getData();
+        }
+        return 0;
+    }
+
+
+    public void disableCooperation(HashMap<Long, CameraDetail> detailMap, HashMap<Long, Camera> cameraMap ){
+        this.disableCooperation(getCooperationParam(detailMap,cameraMap,null));
+    }
+    public void enableCameraCooperation(HashMap<Long,CameraDetail> detailMap,HashMap<Long,Camera> cameraMap ,String username){
+        this.enableCameraCooperation(getCooperationParam(detailMap,cameraMap,username));
+    }
+
+    public void disableCooperation(List<Map<String, String>> params) {
+        if(params.size() <=0){
+            return;
+        }
+        laserClient.cooperationDisable(params);
+    }
+
+    public  List<Map<String, String>> getCooperationParam(HashMap<Long,CameraDetail> detailMap,HashMap<Long,Camera> cameraMap ,String username){
+        List<Map<String, String>> laserParams = new ArrayList<>();
+        List<Long> userIds = new ArrayList<>();
+        for (Long aLong : detailMap.keySet()) {
+            if(detailMap.get(aLong).getCooperationUser()!=null){
+                userIds.add(detailMap.get(aLong).getCooperationUser());
+            }
+        }
+        if(userIds.size() >0){
+            HashMap<Long, User> userMap = userService.getByIds(userIds);
+            for (Long cameraId : detailMap.keySet()) {
+                CameraDetail cameraDetail = detailMap.get(cameraId);
+                if (cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()) {
+                    Camera cameraEntity = cameraMap.get(cameraId);
+                    Map<String, String> param = new HashMap<>();
+                    param.put("snCode", cameraEntity.getSnCode());
+                    String name = userMap.get(cameraDetail.getCooperationUser()) == null ?null : userMap.get(cameraDetail.getCooperationUser()).getUserName();
+                    param.put("cooperationUserName", name);
+                    laserParams.add(param);
+                }
+            }
+        }
+        return laserParams;
+    }
+
+    public void enableCameraCooperation(List<Map<String, String>> params) {
+        if(params.size() <=0){
+            return;
+        }
+        laserClient.cooperationCameraSave(params);
+    }
+}

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.Constant;
 import com.fdkankan.ucenter.entity.*;
+import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ICameraDetailMapper;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,7 +37,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     @Autowired
     ICameraSpaceService cameraSpaceService;
     @Autowired
-    FdkkLaserService fdkkLaserService;
+    LaserService fdkkLaserService;
     @Autowired
     ICameraService cameraService;
     @Autowired

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

@@ -8,6 +8,7 @@ import com.fdkankan.db.response.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.FileSizeUtil;
 import com.fdkankan.ucenter.entity.*;
+import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ICameraMapper;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,7 +41,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     @Autowired
     IUserService userService;
     @Autowired
-    FdkkLaserService fdkkLaserService;
+    LaserService fdkkLaserService;
     @Autowired
     ISceneProService sceneProService;
     @Autowired

+ 0 - 160
src/main/java/com/fdkankan/ucenter/service/impl/FdkkLaserService.java

@@ -1,160 +0,0 @@
-package com.fdkankan.ucenter.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.ucenter.common.CameraTypeEnum;
-import com.fdkankan.ucenter.common.Result;
-import com.fdkankan.ucenter.entity.Camera;
-import com.fdkankan.ucenter.entity.CameraDetail;
-import com.fdkankan.ucenter.entity.User;
-import com.fdkankan.ucenter.service.IUserService;
-import com.fdkankan.ucenter.vo.response.SceneNumVo;
-import lombok.extern.slf4j.Slf4j;
-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;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Service
-@Slf4j
-public class FdkkLaserService {
-
-
-    @Autowired
-    IUserService userService;
-
-    @Value("${4dkk.laserService.basePath}")
-    private String laserHost;
-    private final String GET_LASER_SCENE_USER_URL="/laser/4dage/getSceneNum";
-    private final String GET_LASER_SCENE_CNT_URL="/laser/4dage/scene/getSceneNumByCamera";
-    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 RestTemplate restTemplate = new RestTemplate();
-
-    /**
-     * 根据用户获取激光相机数量
-     * @param token
-     */
-    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 Integer getLaserSceneNum(Map<String, String> params){
-        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 0;
-            }
-            return (Integer) responseEntity.getBody().getData();
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-       return 0;
-    }
-    public Integer test(Map<String, String> params){
-        try {
-            String url ="http://192.168.0.38:8088/test";
-            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 0;
-            }
-            return (Integer) responseEntity.getBody().getData();
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-       return 0;
-    }
-
-    public void disableCooperation(HashMap<Long,CameraDetail> detailMap,HashMap<Long,Camera> cameraMap ){
-        this.disableCooperation(getCooperationParam(detailMap,cameraMap,null));
-    }
-    public void enableCameraCooperation(HashMap<Long,CameraDetail> detailMap,HashMap<Long,Camera> cameraMap ,String username){
-        this.enableCameraCooperation(getCooperationParam(detailMap,cameraMap,username));
-    }
-
-    public void disableCooperation(List<Map<String, String>> params) {
-        if(params.size() <=0){
-            return;
-        }
-        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("激光场景状态同步失败!");
-        }
-    }
-
-    public  List<Map<String, String>> getCooperationParam(HashMap<Long,CameraDetail> detailMap,HashMap<Long,Camera> cameraMap ,String username){
-        List<Map<String, String>> laserParams = new ArrayList<>();
-        List<Long> userIds = new ArrayList<>();
-        for (Long aLong : detailMap.keySet()) {
-            if(detailMap.get(aLong).getCooperationUser()!=null){
-                userIds.add(detailMap.get(aLong).getCooperationUser());
-            }
-        }
-        if(userIds.size() >0){
-            HashMap<Long, User> userMap = userService.getByIds(userIds);
-            for (Long cameraId : detailMap.keySet()) {
-                CameraDetail cameraDetail = detailMap.get(cameraId);
-                if (cameraDetail.getType() == CameraTypeEnum.LASER_TURN.getType()) {
-                    Camera cameraEntity = cameraMap.get(cameraId);
-                    Map<String, String> param = new HashMap<>();
-                    param.put("snCode", cameraEntity.getSnCode());
-                    String name = userMap.get(cameraDetail.getCooperationUser()) == null ?null : userMap.get(cameraDetail.getCooperationUser()).getUserName();
-                    param.put("cooperationUserName", name);
-                    laserParams.add(param);
-                }
-            }
-        }
-      return laserParams;
-    }
-
-    public void enableCameraCooperation(List<Map<String, String>> params) {
-        if(params.size() <=0){
-            return;
-        }
-        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("自研激光转台相机协作失败!");
-        }
-    }
-}

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

@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
+import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ISceneCooperationMapper;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -38,7 +39,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     @Autowired
     IScenePlusService scenePlusService;
     @Autowired
-    FdkkLaserService fdkkLaserService;
+    LaserService fdkkLaserService;
     @Autowired
     ISceneResourceCooperationService sceneResourceCooperationService;
     @Autowired

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

@@ -28,6 +28,7 @@ import com.fdkankan.ucenter.entity.ScenePlusExt;
 import com.fdkankan.ucenter.entity.ScenePro;
 import com.fdkankan.ucenter.entity.SceneProEdit;
 import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.httpClient.service.LaserService;
 import com.fdkankan.ucenter.mapper.ISceneProMapper;
 import com.fdkankan.ucenter.service.ICameraDetailService;
 import com.fdkankan.ucenter.service.IFolderSceneService;
@@ -89,7 +90,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     @Autowired
     ISceneService sceneService;
     @Autowired
-    FdkkLaserService fdkkLaserService;
+    LaserService fdkkLaserService;
     @Resource
     private FYunFileServiceInterface fYunFileService;
     @Autowired

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

@@ -36,6 +36,10 @@ spring:
             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}

+ 3 - 0
src/main/resources/bootstrap-pro.yml

@@ -32,6 +32,9 @@ spring:
             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: 4dkankan-test

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

@@ -32,6 +32,10 @@ spring:
             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}