소스 검색

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/VehicleMonitor

gao.qiang 1 년 전
부모
커밋
813403c6bf

+ 29 - 1
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseVehicleController.java

@@ -6,6 +6,7 @@ import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDictData;
+import com.ozs.common.core.redis.RedisCache;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.ChineseToPingyin;
 import com.ozs.common.utils.StringUtils;
@@ -25,6 +26,7 @@ import com.ozs.service.BaseVehicleService;
 import com.ozs.service.VehiclePositionService;
 import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDictTypeService;
+import com.ozs.web.common.Constant;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,7 +41,9 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -64,7 +68,8 @@ public class BaseVehicleController extends BaseController {
     private ISysDictTypeService dictTypeService;
     @Resource
     BaseDeviceDynamicManagementService baseDeviceDynamicManagementService;
-
+    @Autowired
+    private RedisCache redisCache;
 
     /**
      * 车载终端挂载列表
@@ -315,6 +320,29 @@ public class BaseVehicleController extends BaseController {
         return success(vehicleTree);
     }
 
+    /**
+     * 前端传终端码
+     * 1、根据终端码  查询  行驶记录表  获取最新的机车位置  \ 司机的目视距离;
+     * 2、根据 机车的位置  和线路 查询  机车前方1路视频 ( 10KM  是否有报警 )
+     */
+    @ApiOperation(value = "通过终端编码获取流")
+    @GetMapping("/vehicleCurrentStream")
+    @Log(title = "通过终端编码获取流", businessType = BusinessType.SELECT)
+    public AjaxResult vehicleCurrentStream(String zdCode) {
+        Map<String, Object> cacheMap = redisCache.getCacheMap(Constant.HERTBEA_KEY + zdCode);
+        if (!ObjectUtils.isEmpty(cacheMap)) {
+            Map<String, String> ccMap = new HashMap<>();
+            Object cameraCode = cacheMap.get("cameraCode");
+            Object stream = cacheMap.get("currentStream");
+            if (!ObjectUtils.isEmpty(cameraCode)) {
+                ccMap.put("cameraCode", cameraCode.toString());
+                ccMap.put("currentStream", stream.toString());
+                return AjaxResult.success(ccMap);
+            }
+        }
+        return AjaxResult.error("当前机车无实时流");
+    }
+
     /**
      * 机车信息表 (首页地图中的机车信息)
      *

+ 3 - 0
vehicle-admin/src/main/java/com/ozs/web/controller/sdk/GeoHazardMonitorTokenController.java

@@ -504,7 +504,9 @@ public class GeoHazardMonitorTokenController {
         log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
+            //  1.  解密参数
             String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), "4370780c9a8c43e5");
+            //  2、 心跳参数
             HeartbeatVo heartbeatVo = JSON.parseObject(s, HeartbeatVo.class);
             if (ObjectUtils.isEmpty(heartbeatVo.getTerminalCode())) {
                 jsonObject.put("resultCode", 0);
@@ -551,6 +553,7 @@ public class GeoHazardMonitorTokenController {
                 jsonObject.put("resultCode", 0);
                 jsonObject.put("message", "失败");
                 jsonObject.put("data", "司机目视距离填写错误");
+                //  todo   请把目视距离写入到缓存(Redis)中  ,key 为终端编码+盐值  每次心跳监测都修改。
                 return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
             }
             if (heartbeatVo.getSignalStrength() != 1 && heartbeatVo.getSignalStrength() != 2) {

+ 3 - 0
vehicle-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java

@@ -40,4 +40,7 @@ public class CaneraConfig {
 
     @Value("${base.bakUrl:rtsp://124.70.58.209:8554}")
     private String bakUrlRtsp;
+
+    @Value("${base.wsUrl:http://124.70.58.209:18891}")
+    private String wsUrl;
 }

+ 9 - 3
vehicle-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -10,7 +10,7 @@ import com.ozs.common.exception.base.BaseException;
 import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.HttpClientUtil;
 import com.ozs.common.utils.http.HttpUtils;
-import com.ozs.service.BaseCameraManagementService;
+import com.ozs.framework.config.ServerConfig;
 import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.web.core.config.CaneraConfig;
 import lombok.SneakyThrows;
@@ -46,7 +46,10 @@ public class CameraUtil {
     private static String webUrl;
     private static String bakUrl;
     private static String bakUrlRtsp;
+    private static String wsUrl;
     private static CmdCameraUtil cUtil;
+    private static RedisCache rc;
+    private static ServerConfig sc;
 
     @Autowired
     private CaneraConfig caneraConfig;
@@ -57,9 +60,10 @@ public class CameraUtil {
     @Autowired
     private SysDictDataMapper dictDataMapper;
 
-    private static RedisCache rc;
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private ServerConfig serverConfig;
 
     public final static String tsFilekey = "mergeVideoTsFile";
 
@@ -459,9 +463,11 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
         transcribeFilePath = caneraConfig.getTranscribeFilePath();
         webUrl = caneraConfig.getWebUrl();
         bakUrl = caneraConfig.getBakUrl();
-        bakUrlRtsp=caneraConfig.getBakUrlRtsp();
+        bakUrlRtsp = caneraConfig.getBakUrlRtsp();
         rc = redisCache;
         cUtil = cmdCameraUtil;
+        sc = serverConfig;
+        wsUrl = caneraConfig.getWsUrl();
     }
 
     /**

+ 6 - 2
vehicle-admin/src/main/resources/application.yml

@@ -14,11 +14,15 @@ base:
   addressEnabled: true
   # 验证码类型 math 数组计算 char 字符验证
   captchaType: math
-#  sqlType: kingbasees  # 数据库类型
+  #  sqlType: kingbasees  # 数据库类型
   dbname: vehicle #数据库名
   #图片路径前缀
   imgUrl: http://124.71.171.71:18801/picbucket
-  historyUrl: http://124.70.58.209:18812
+  ffmpegPath: /usr/local/ffmpeg/bin/ffmpeg
+  filePath: /opt/streams/record/flv/
+  webUrl: http://124.70.58.209:18812
+  bakUrl: http://124.70.58.209:18891
+  wsUrl: ws://124.70.58.209:9080
 
 server:
   # 服务器的HTTP端口,默认为8080