소스 검색

压测代码提交

gao.qiang 1 년 전
부모
커밋
76775c905e

+ 54 - 0
business-service/src/main/java/com/ozs/entity/vo/BaseVideoTrains.java

@@ -0,0 +1,54 @@
+package com.ozs.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 视频与列车位置关联匹配日志表
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-04-11
+ */
+@Data
+public class BaseVideoTrains extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 列车位置
+     */
+    private Integer trainsMile;
+
+    /**
+     * 视频位置
+     */
+    private Integer videoMile;
+
+    /**
+     * 关联距离
+     */
+    private Integer distance;
+    /**
+     * 是否准确(1是2否)
+     */
+    private Integer isAccuracy;
+    /**
+     * 处理时延
+     */
+    private Integer delay;
+}

+ 12 - 0
business-service/src/main/java/com/ozs/mapper/BaseVideoTrainsMapper.java

@@ -0,0 +1,12 @@
+package com.ozs.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.entity.vo.BaseVideoTrains;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author Administrator
+ */
+@Mapper
+public interface BaseVideoTrainsMapper extends BaseMapper<BaseVideoTrains> {
+}

+ 10 - 0
business-service/src/main/java/com/ozs/service/BaseVideoTrainsService.java

@@ -0,0 +1,10 @@
+package com.ozs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.entity.vo.BaseVideoTrains;
+
+/**
+ * 视频与列车位置关联匹配日志表 服务类
+ */
+public interface BaseVideoTrainsService extends IService<BaseVideoTrains> {
+}

+ 15 - 0
business-service/src/main/java/com/ozs/service/impl/BaseVideoTrainsServiceImpl.java

@@ -0,0 +1,15 @@
+package com.ozs.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.entity.vo.BaseVideoTrains;
+import com.ozs.mapper.BaseVideoTrainsMapper;
+import com.ozs.service.BaseVideoTrainsService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * @author Administrator
+ */
+@Service
+public class BaseVideoTrainsServiceImpl extends ServiceImpl<BaseVideoTrainsMapper, BaseVideoTrains> implements BaseVideoTrainsService {
+}

+ 4 - 0
business-service/src/main/resources/mapper/BaseVideoTrainsMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ozs.mapper.BaseVideoTrainsMapper">
+</mapper>

+ 39 - 1
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -37,6 +37,7 @@ import com.ozs.entity.vo.AlarmFilesVo;
 import com.ozs.entity.vo.AlarmHeartbeatLog;
 import com.ozs.entity.vo.AlarmInfoVo;
 import com.ozs.entity.vo.AlarmListVo;
+import com.ozs.entity.vo.BaseVideoTrains;
 import com.ozs.entity.vo.CameraPlayVo;
 import com.ozs.entity.vo.CameraVo;
 import com.ozs.entity.vo.CameraVos;
@@ -63,6 +64,7 @@ import com.ozs.service.BaseTerminalLogService;
 import com.ozs.service.BaseTerminalService;
 import com.ozs.service.BaseUserService;
 import com.ozs.service.BaseVehicleTerminalService;
+import com.ozs.service.BaseVideoTrainsService;
 import com.ozs.service.MsgAlarmExtService;
 import com.ozs.service.MsgAlarmFrequencyService;
 import com.ozs.service.MsgAlarmService;
@@ -169,6 +171,8 @@ public class GeoHazardMonitorTokenController {
     private BaseTerminalLogService baseTerminalLogService;
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private BaseVideoTrainsService baseVideoTrainsService;
 
     /**
      * 获取web访问令牌
@@ -553,6 +557,7 @@ public class GeoHazardMonitorTokenController {
                 return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
             }
             VehiclePosition vehiclePosition = new VehiclePosition();
+            BaseVideoTrains baseVideoTrains=new BaseVideoTrains();
             BeanUtils.copyProperties(heartbeatVo, vehiclePosition);
             LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(BaseVehicleTerminal::getTerminalCode, vehiclePosition.getTerminalCode());
@@ -580,7 +585,7 @@ public class GeoHazardMonitorTokenController {
             LambdaQueryWrapper<BaseTerminal> terminal = new LambdaQueryWrapper<>();
             terminal.eq(BaseTerminal::getTerminalCode, vehiclePosition.getTerminalCode());
             boolean update = baseTerminalService.update(baseTerminal1, terminal);
-
+            baseVideoTrains.setTrainsMile(heartbeatVo.getCurrentMile());
             //目视距离和里程位置
             if (save && update) {
                 LambdaQueryWrapper<MsgAlarm> queryWrapper = new LambdaQueryWrapper<>();
@@ -903,6 +908,22 @@ public class GeoHazardMonitorTokenController {
                         //判断流媒体是否有流
                         String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel(), type);
                         log.info("playFlv------------>" + playFlv);
+                        baseVideoTrains.setVideoMile(list1.get(0).getInstallMile());
+                        long delay = System.currentTimeMillis();
+                        log.info("关联距离时间: " + sdf.format(new Date(delay)));
+                        long mile= delay - begin;
+                        log.info("关联距离请求用时时间:" + mile + "毫秒");
+                        baseVideoTrains.setDelay((int)mile);
+                        if (heartbeatVo.getLineDir() == 1) {
+                            baseVideoTrains.setDistance(list1.get(0).getInstallMile() - heartbeatVo.getCurrentMile());
+                        }else {
+                            baseVideoTrains.setDistance(heartbeatVo.getCurrentMile() - list1.get(0).getInstallMile());
+                        }
+                        if (baseVideoTrains.getDistance()>=1000&&baseVideoTrains.getDistance()<=10000){
+                            baseVideoTrains.setIsAccuracy(1);
+                        }else {
+                            baseVideoTrains.setIsAccuracy(2);
+                        }
                         //拉两路视频
                         if (StringUtils.isEmpty(playFlv)) {
                             log.info("--------------->>已进入拉两路视频");
@@ -1024,6 +1045,22 @@ public class GeoHazardMonitorTokenController {
                     //判断流媒体是否有流
                     String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel(), type);
                     log.info("playFlv------------>" + playFlv);
+                    baseVideoTrains.setVideoMile(list1.get(0).getInstallMile());
+                    long delay = System.currentTimeMillis();
+                    log.info("关联距离时间: " + sdf.format(new Date(delay)));
+                    long mile= delay - begin;
+                    log.info("关联距离请求用时时间:" + mile + "毫秒");
+                    baseVideoTrains.setDelay((int)mile);
+                    if (heartbeatVo.getLineDir() == 1) {
+                        baseVideoTrains.setDistance(list1.get(0).getInstallMile() - heartbeatVo.getCurrentMile());
+                    }else {
+                        baseVideoTrains.setDistance(heartbeatVo.getCurrentMile() - list1.get(0).getInstallMile());
+                    }
+                    if (baseVideoTrains.getDistance()>=1000&&baseVideoTrains.getDistance()<=10000){
+                        baseVideoTrains.setIsAccuracy(1);
+                    }else {
+                        baseVideoTrains.setIsAccuracy(2);
+                    }
                     //拉两路视频
                     if (StringUtils.isEmpty(playFlv)) {
                         log.info("--------------->>已进入拉两路视频");
@@ -1114,6 +1151,7 @@ public class GeoHazardMonitorTokenController {
                 }
                 twoMap.put("visualDistance", heartbeatVo.getVisualDistance().toString());
                 String string = JSON.toJSONString(twoMap);
+                baseVideoTrainsService.save(baseVideoTrains);
                 heartbeatUtils.createHeartbeat(Constant.HERTBEA_KEY + heartbeatVo.getTerminalCode(), string);
                 log.info("---------data---结果-------" + respHeartbeatVo);
                     AjaxResults1 = new AjaxResults(0,"视频加载中",respHeartbeatVo);