Browse Source

进路信息接口开发

buzhanyi 1 year ago
parent
commit
91f18dc002

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

@@ -0,0 +1,54 @@
+package com.ozs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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
+@EqualsAndHashCode(callSuper = false)
+public class BaseRouteMassage extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 车站编码
+     */
+    @Excel(name = "车站编码")
+    private String stationCode;
+
+    /**
+     * 车站名称
+     */
+    @Excel(name = "车站名称")
+    private String stationName;
+
+    /**
+     * 里程位置
+     */
+    @Excel(name = "里程位置")
+    private Integer mileagePosition;
+    /**
+     * 进路股道
+     */
+    @Excel(name = "进路股道")
+    private Integer routeStationTrack;
+}

+ 4 - 0
business-service/src/main/java/com/ozs/entity/vo/RespHeartbeatVo.java

@@ -30,4 +30,8 @@ public class RespHeartbeatVo implements Serializable {
      * 当前报警信息((isAlarm为1时非空))
      */
     private AlarmInfoVo alarmInfo;
+    /**
+     * 当前股道
+     */
+    private Integer routeTrack;
 }

+ 18 - 0
business-service/src/main/java/com/ozs/mapper/BaseRouteMassageMapper.java

@@ -0,0 +1,18 @@
+package com.ozs.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.entity.BaseRouteMassage;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 进路信息表 接口
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-17
+ */
+@Mapper
+public interface BaseRouteMassageMapper extends BaseMapper<BaseRouteMassage> {
+
+}

+ 16 - 0
business-service/src/main/java/com/ozs/service/BaseRouteMassageService.java

@@ -0,0 +1,16 @@
+package com.ozs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.entity.BaseRouteMassage;
+
+/**
+ * <p>
+ * 进路信息表 服务类
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-17
+ */
+public interface BaseRouteMassageService extends IService<BaseRouteMassage> {
+
+}

+ 25 - 0
business-service/src/main/java/com/ozs/service/impl/BaseRouteMassageServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ozs.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.entity.BaseRouteMassage;
+import com.ozs.mapper.BaseRouteMassageMapper;
+import com.ozs.service.BaseRouteMassageService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 进路信息表 服务实现类
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-17
+ */
+@Service
+public class BaseRouteMassageServiceImpl extends ServiceImpl<BaseRouteMassageMapper, BaseRouteMassage> implements BaseRouteMassageService {
+
+    @Resource
+    BaseRouteMassageMapper baseRouteMassageMapper;
+
+}

+ 5 - 0
business-service/src/main/resources/mapper/BaseRouteMassageMapper.xml

@@ -0,0 +1,5 @@
+<?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.BaseRouteMassageMapper">
+
+</mapper>

+ 4 - 4
pom.xml

@@ -127,7 +127,7 @@
         <repository>
             <id>custom_group</id>
             <name>Nexus Repository</name>
-            <url>http://124.71.171.71:18881/repository/custom_group/</url>
+            <url>http://47.94.132.61:18881/repository/custom_group/</url>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
@@ -140,7 +140,7 @@
         <pluginRepository>
             <id>custom_group</id>
             <name>Nexus Plugin Repository</name>
-            <url>http://124.71.171.71:18881/repository/custom_group/</url>
+            <url>http://47.94.132.61:18881/repository/custom_group/</url>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
@@ -154,12 +154,12 @@
         <repository><!--部署项目产生的构件到远程仓库需要的信息 -->
             <id>custom_releases</id><!-- 此处id和settings.xml的id保持一致 -->
             <name>Nexus Release Repository</name>
-            <url>http://124.71.171.71:18881/repository/custom_releases/</url>
+            <url>http://47.94.132.61:18881/repository/custom_releases/</url>
         </repository>
         <snapshotRepository><!--构件的快照部署到哪里?如果没有配置该元素,默认部署到repository元素配置的仓库,参见distributionManagement/repository元素 -->
             <id>custom_snapshots</id><!-- 此处id和settings.xml的id保持一致 -->
             <name>Nexus Snapshot Repository</name>
-            <url>http://124.71.171.71:18881/repository/custom_snapshots/</url>
+            <url>http://47.94.132.61:18881/repository/custom_snapshots/</url>
         </snapshotRepository>
     </distributionManagement>
 

+ 29 - 0
vehicle-sdk/src/main/java/com/ozs/config/ShotExecutors.java

@@ -0,0 +1,29 @@
+package com.ozs.config;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/5/6
+ */
+@Configuration
+@EnableScheduling
+@EnableAsync
+@Slf4j
+public class ShotExecutors {
+
+    /**
+     * 定时清除流媒体压缩视频
+     */
+    @Async
+    @Scheduled(fixedRate = 3000)
+    public void handleAlarmPicture() {
+
+    }
+}

+ 90 - 34
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -15,6 +15,7 @@ import com.ozs.common.utils.stateSecrets.SM4Utils;
 import com.ozs.config.Constant;
 import com.ozs.entity.BaseCameraManagement;
 import com.ozs.entity.BaseRailwayManagement;
+import com.ozs.entity.BaseRouteMassage;
 import com.ozs.entity.BaseTerminal;
 import com.ozs.entity.BaseUser;
 import com.ozs.entity.BaseVehicleTerminal;
@@ -50,6 +51,7 @@ import com.ozs.mapper.MsgHeartbeatAlarmMessageMapper;
 import com.ozs.mapper.SkynetHeartbeatLogMapper;
 import com.ozs.service.BaseCameraManagementService;
 import com.ozs.service.BaseRailwayManagementService;
+import com.ozs.service.BaseRouteMassageService;
 import com.ozs.service.BaseTerminalService;
 import com.ozs.service.BaseUserService;
 import com.ozs.service.BaseVehicleTerminalService;
@@ -94,7 +96,7 @@ import java.util.stream.Collectors;
  * @author Administrator
  */
 @RestController
-@Slf4j
+//@Slf4j
 public class GeoHazardMonitorTokenController {
     public static final String PATTERN = "^([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)$";
     public static final String PATTERNS = "^[0-9]*$";
@@ -136,6 +138,9 @@ public class GeoHazardMonitorTokenController {
     private AlarmHeartbeatLogMapper alarmHeartbeatLogMapper;
     @Resource
     private MsgHeartbeatAlarmMessageMapper msgHearbeatAlarmMessageMapper;
+    @Resource
+    private BaseRouteMassageService baseRouteMassageService;
+
     @Value("${base.env}")
     private String env;
     @Value("${sdk.publish}")
@@ -218,8 +223,8 @@ public class GeoHazardMonitorTokenController {
     @Transactional(rollbackFor = Exception.class)
     public String alarm(@RequestBody ParameterVo parameterVo, HttpServletRequest request) throws Exception {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -282,7 +287,7 @@ public class GeoHazardMonitorTokenController {
             if (reqMsgAlarmVo.getAlarmTime().toString().length() == 10) {
                 reqMsgAlarmVo.setAlarmTime(reqMsgAlarmVo.getAlarmTime() * 1000);
             }
-            log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
+            //log.info("reqMsgAlarmVo:{}", reqMsgAlarmVo);
 
             LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
             if (!ObjectUtils.isEmpty(reqMsgAlarmVo.getAlarmMile())) {
@@ -292,7 +297,7 @@ public class GeoHazardMonitorTokenController {
                 wrapper.eq(BaseCameraManagement::getEnableOrNot, 1);
             }
             List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(wrapper);
-            log.info("baseCameraManagement:{}", baseCameraManagementList);
+            //log.info("baseCameraManagement:{}", baseCameraManagementList);
             if (baseCameraManagementList.size() <= 0) {
                 jsonObject.put("resultCode", 0);
                 jsonObject.put("message", "失败");
@@ -312,10 +317,10 @@ public class GeoHazardMonitorTokenController {
                 BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarmVice);
                 msgAlarm.setCreateBy(admin.getUserId());
                 msgAlarm.setUpdateBy(admin.getUserId());
-                log.info("时间++++ long ---- " + reqMsgAlarmVo.getAlarmTime());
-                log.info("时间++++" + new Date(reqMsgAlarmVo.getAlarmTime()));
+                //log.info("时间++++ long ---- " + reqMsgAlarmVo.getAlarmTime());
+                //log.info("时间++++" + new Date(reqMsgAlarmVo.getAlarmTime()));
                 msgAlarm.setAlarmTime(new Date(reqMsgAlarmVo.getAlarmTime()));
-                log.info("时间++++get" + msgAlarm.getAlarmTime());
+                //log.info("时间++++get" + msgAlarm.getAlarmTime());
                 msgAlarm.setRailwayCode(reqMsgAlarmVo.getAlarmRailway());
                 String source = split[split.length - 2];
                 msgAlarm.setSource(source);
@@ -348,11 +353,11 @@ public class GeoHazardMonitorTokenController {
                 msgAlarmVice.setAlarmTime(new Date(reqMsgAlarmVo.getAlarmTime()));
                 msgAlarmFrequencyService.save(msgAlarmVice);
 
-                log.info("alarmJSON :{}", JSON.toJSONString(msgAlarm));
-                log.info("->>>>>>>>>>>>>>>>>>>>>>>>>>" + msgAlarm);
+                //log.info("alarmJSON :{}", JSON.toJSONString(msgAlarm));
+                //log.info("->>>>>>>>>>>>>>>>>>>>>>>>>>" + msgAlarm);
                 String result = HttpClientUtil.postJson(sdkUrl, JSON.toJSONString(msgAlarm));
-                log.info("->>>>>>>>>>>>>>>>>>>>>>>>>>>>" + result);
-                log.info("result:{}", result);
+                //log.info("->>>>>>>>>>>>>>>>>>>>>>>>>>>>" + result);
+                //log.info("result:{}", result);
 
                 List<String> collect = baseCameraManagementList.stream().map(BaseCameraManagement::getCameraCode).collect(Collectors.toList());
                 List<SysDictData> data = dictTypeService.selectDictDataByType("alarm_play_time_value");
@@ -387,8 +392,8 @@ public class GeoHazardMonitorTokenController {
     @PostMapping("/api/releaseAlarm")
     public String releaseAlarm(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -475,8 +480,8 @@ public class GeoHazardMonitorTokenController {
         int type = 0;
         RespHeartbeatVo respHeartbeatVo = new RespHeartbeatVo();
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -797,6 +802,13 @@ public class GeoHazardMonitorTokenController {
                     twoMap.put("currentStream", playFlv);
                     twoMap.put("cameraCode", list1.get(0).getCameraCode());
                     respHeartbeatVo.setCurrentStream(playFlv);
+                    //赋值--股道
+                    List<BaseRouteMassage> list = baseRouteMassageService.list();
+                    if (!ObjectUtils.isEmpty(list)) {
+                        if (list.get(0).getMileagePosition() - heartbeatVo.getCurrentMile() <= 500 && list.get(0).getMileagePosition() - heartbeatVo.getCurrentMile() >= 0) {
+                            respHeartbeatVo.setRouteTrack(list.get(0).getRouteStationTrack());
+                        }
+                    }
                     respHeartbeatVo.setIsAlarm(2);
                     respHeartbeatVo.setCameraCode(list1.get(0).getCameraCode());
                     respHeartbeatVo.setAlarmList(null);
@@ -837,8 +849,8 @@ public class GeoHazardMonitorTokenController {
     public String terminalIgnore(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
         Map<String, Object> map = new HashMap<>();
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -907,8 +919,8 @@ public class GeoHazardMonitorTokenController {
     @PostMapping("/api/query/camera")
     public String camera(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -922,9 +934,9 @@ public class GeoHazardMonitorTokenController {
                 return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
             }
             LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(BaseCameraManagement::getRailwayCode, cameraVo.getRailwayCode())
-                        .and(w1 ->w1.eq(BaseCameraManagement::getMonitoringDirection, cameraVo.getLineDir())
-                                .or(w2 -> w2.eq(BaseCameraManagement::getMonitoringDirection, 3)));
+            wrapper.eq(BaseCameraManagement::getRailwayCode, cameraVo.getRailwayCode())
+                    .and(w1 -> w1.eq(BaseCameraManagement::getMonitoringDirection, cameraVo.getLineDir())
+                            .or(w2 -> w2.eq(BaseCameraManagement::getMonitoringDirection, 3)));
             wrapper.eq(BaseCameraManagement::getEnableOrNot, 1);
             wrapper.orderByAsc(BaseCameraManagement::getInstallMile);
             List<BaseCameraManagement> list = baseCameraManagementService.list(wrapper);
@@ -993,8 +1005,8 @@ public class GeoHazardMonitorTokenController {
     public String cameraPlay(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         Map<String, Object> map = new HashMap<>();
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -1058,8 +1070,8 @@ public class GeoHazardMonitorTokenController {
     @PostMapping("/api/query/alarm")
     public String queryAlarm(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -1138,8 +1150,8 @@ public class GeoHazardMonitorTokenController {
         Map<String, Object> map = new HashMap<>();
         String urls = null;
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -1209,8 +1221,8 @@ public class GeoHazardMonitorTokenController {
     @PostMapping("/api/skynet/heartbeat")
     public String skynetHeartbeat(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -1285,8 +1297,8 @@ public class GeoHazardMonitorTokenController {
     @PostMapping("/api/alarm/heartbeat")
     public String alarmHeartbeat(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
-        log.info("token:{}", token);
-        log.info("parameter:{}", parameterVo);
+        //log.info("token:{}", token);
+        //log.info("parameter:{}", parameterVo);
         JSONObject jsonObject = new JSONObject();
         if (StringUtils.isNotEmpty(token)) {
             String[] split = token.split("-");
@@ -1352,7 +1364,7 @@ public class GeoHazardMonitorTokenController {
         obj.put("data", heartbeatVoCH);
         //code
         obj.put("code", 151);
-        log.info("【websocket消息】 机车地址信息:" + obj.toJSONString());
+        //log.info("【websocket消息】 机车地址信息:" + obj.toJSONString());
         return obj.toJSONString();
     }
 
@@ -1369,4 +1381,48 @@ public class GeoHazardMonitorTokenController {
         String s1 = JSONObject.toJSONString(vo);
         return SM4Utils.encryptData_ECB(s1, "4370780c9a8c43e5");
     }
+
+    /**
+     * 添加进路信息
+     *
+     * @return
+     */
+    @PostMapping("/api/addRouteMassage")
+    public String addRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
+        if (!ObjectUtils.isEmpty(baseRouteMassage) && !ObjectUtils.isEmpty(baseRouteMassage.getStationCode())) {
+            BaseRouteMassage one = baseRouteMassageService.getOne(new LambdaQueryWrapper<BaseRouteMassage>().eq(BaseRouteMassage::getStationCode, baseRouteMassage.getStationCode()));
+            if (!ObjectUtils.isEmpty(one)) {
+                return "车站编码已存在!";
+            }
+        }
+        baseRouteMassage.setCreateTime(new Date());
+        baseRouteMassage.setStationName("博野站");
+        baseRouteMassageService.save(baseRouteMassage);
+        return "200";
+    }
+
+    /**
+     * 查询进路信息
+     *
+     * @return
+     */
+    @GetMapping("/api/getRouteMassageList")
+    public List<BaseRouteMassage> getRouteMassageList() {
+        return baseRouteMassageService.list();
+    }
+
+    /**
+     * 删除进路信息
+     *
+     * @return
+     */
+    @PostMapping("/api/deleteRouteMassage")
+    public String deleteRouteMassage(@RequestBody BaseRouteMassage baseRouteMassage) {
+        if (!ObjectUtils.isEmpty(baseRouteMassage) && !ObjectUtils.isEmpty(baseRouteMassage.getId())) {
+            baseRouteMassageService.removeById(baseRouteMassage.getId());
+            return "200";
+        } else {
+            return "ID不存在";
+        }
+    }
 }